【发布时间】:2020-08-09 09:59:55
【问题描述】:
假设我有这个代码
char *string = "";
string += 'A';
string += 'B';
string += 'C';
printf("%s\n", string);
它只是打印一个空行。为什么要这样做,如果我不知道它会持续多长时间,是否有一种简单的方法可以连接从空字符串开始的单个字符?
【问题讨论】:
-
string += 'A';错误的原因有很多。你需要做的是查看malloc和realloc(完全忘记使用+=) -
连接两个字符串使用
strcat,如果要逐个字符设置字符串,从足够大的缓冲区开始,并逐个设置每个字符 -
你来自 Java 吗?
-
@UnholySheep 我已将其更改为在 char 指针上使用 calloc。既然我有了,我该如何设置分配给我正在阅读的字符的不同内存地址?
-
@Jens 是的,我来自 Java
标签: c pointers char append c-strings