c - 我在将 char 变量的值附加到 C 中的字符串时遇到问题

标签 c arrays string char strcat

我一直在尝试使用 strcat(array, &charVariable) 将 charVariable 添加到数组中, 当我显示数组时,它显示这个╠╠╠╠╠╠╠╠。 谁能帮帮我?

最佳答案

问题是 strcat 需要一个指向空终止字符序列的指针。在您的情况下,您传递的是独立 char 变量的地址。如果紧跟在 char 变量之后的内存项不为零,您将触发未定义的行为(附加垃圾字符或崩溃)。

正确的做法是:

char tmp[2];
tmp[0] = charVariable;
tmp[1] = '\0';
strcat(array, tmp); 

关于c - 我在将 char 变量的值附加到 C 中的字符串时遇到问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13300845/

相关文章:

c - 读取文件时出现段错误

ruby - 为什么 "lay' s"变成 "layaposs"?

c - 不打印垃圾值

c - 在c中填充斜边表

c - 试图在 c 中使用 strtol() 但它只适用于第一个参数

c - 为什么我的代码从数组中打印出一些垃圾?

java - Set<字符串> getSet(字符串 s)

javascript - JavaScript 数组的区别?

xml - Bash 将 XML 解析为数组

arrays - 将响应 NSArray 转换为对象数组 swift3