c - 使用 C 将 char 添加到字符串文字

标签 c char string-literals

我定义了一个字符串字面值

字符 *名称

我想向 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/

相关文章:

c - OpenCV 'cvQueryFrame' 在 OS X 上非阻塞?

java - 单极编码的字符比较java

c++ - C++ 中各种数据类型的 sizeof() 解释

C++ 只读数组文字

c - 存储在有一些空格的数组中

c - 是否可以在 C 中返回不同的 "false"?

c++ - 关于 OpenGLES 中的纹理切换

java - 逐个字母比较两个字符串

C --- 删除字符串中的所有多余空格,不包括指定字符之间的字符

javascript - 谷歌应用程序脚本中有哪些字符串文字可用?