【发布时间】:2014-03-14 12:25:58
【问题描述】:
我是 C 的新手,所以请原谅我的一些错误。 我想知道是否有可能将多个字符串/数组值存储在一个字符串中?这是一个示例,可让您了解我要做什么。
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
const char *lister[] = {"H", "E", "LL", "O"}; //forgot brackets, fixed now
int main()
{
char *mystring[] = ("%s%s", lister[1], lister[2]);
printf ("%s\n", mystring);
return 0;
}
不确定这是否有意义,但正在寻找将字符串值存储到另一个字符串或数组中的方法。 谢谢! :) 编辑:strncat 修复了这个问题,如果您遇到同样的问题,请转到http://www.tutorialspoint.com/c_standard_library/c_function_strncat.htm 了解更多信息,感谢 computerfreaker 建议 strncat!
【问题讨论】:
-
您可以查看
strcat或strncat。这两个函数都将一个字符串附加(conCATenate)到另一个字符串。strcat将一个完整的字符串附加到另一个;strncat稍微安全一些,因为您可以指定第二个字符串中要附加到第一个字符串的字符数。 -
mystring 部分不起作用 - 使用 strcpy 和 strcat 复制和连接字符串。确保首先分配一个缓冲区。
-
@computerfreaker,您可能应该将您的评论作为答案,以便 OP 可以接受。
-
@Mauren 完成。感谢您举报我,否则我不会意识到 op 选择了我的建议!
-
char multistring[] = "one\0two\0three"; printf("%s, %s, %s\n", multistring, multistring + 4, multistring + 8);