我定义了一个字符串字面值
字符 *名称
我想向 name
添加一个字符(该字符定义为 char d = 'a'
)。
我试过了
strcpy(名称, d);
但是当我尝试打印它时出现段错误。我怎么能这样做?
最佳答案
使用 name[strlen(name)] = d
。
char *name = malloc(80);
// some code that puts something in *name
strcpy(name, "Hello World");
char d = 'a'
size_t len = strlen(name);
if (len >= (80-1)) DealWithNotEnoughRoom();
name[len++] = d;
name[len] = '\0';
顺便说一句:
char *name
不是字符串文字。上面的“Hello World”是一个字符串文字。
char *name
是一个变量“name as pointer to char”。
关于c - 使用 C 将 char 添加到字符串文字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20449046/