首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >strncpy和strcat用法

strncpy和strcat用法
EN

Stack Overflow用户
提问于 2015-11-10 04:07:41
回答 5查看 1K关注 0票数 4

我的作业要求显示我的名字,使其看起来如下:'Lastname,Firstname‘。姓,然后是逗号,空格名。虽然没有移动的其余文本后,该名称。这是我的密码:

代码语言:javascript
运行
复制
  char str1[11];
  char str2[3];
  char str3[16];
  strcpy (str1,fn);
  strcpy (str2,", ");
  strcpy (str3,ln);
  strncat (str1, str2, 14);
  strncat (str1, str3, 31);

我的老师说我做了他想做的事,但他不喜欢我用了多少行代码,并说我正在做比我需要的更多的工作。

变量:ln = last namefn = first name i为“,”逗号空间创建了str2。

他想让我做什么?

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2015-11-10 04:12:47

代码语言:javascript
运行
复制
char result[50];

strcpy(result, ln);
strcat(result, ", ");
strcat(result, fn);

他说得对,你说得太多了(而且浪费了太多的记忆)。

票数 4
EN

Stack Overflow用户

发布于 2015-11-10 04:16:30

假设你知道字符串的长度,为什么不知道呢?

代码语言:javascript
运行
复制
char result[50];

sprintf(result,"%s, %s",ln, fn);
票数 5
EN

Stack Overflow用户

发布于 2015-11-10 04:12:33

这就是你所需要的:

代码语言:javascript
运行
复制
strcpy (str1,ln);    // Copy the last name to str1
strcat (str1,", ");  // Now append ", " to the last name in str1
strcat (str1,fn);    // Lastly, append the first name to str1

您必须确保str1足够大,足以容纳所有这些。一个由13个字符组成的数组可能不够。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33622704

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档