c - 在 strcat 中添加空间

标签 c string strcat

我有两个字符串 char str1[41]char str2[41]。如果我使用 strcat 函数连接它们,我会得到一个没有空格的唯一字符串,而不是在它们之间有空格。

这可能是一种方式:

strcat(strcat(str1, " "),str2)

它是否以另一种方式存在?

最佳答案

sprintf(目的地, "%s %s", str1, str2);

您必须提供目的地。您可以使用 str1 作为您的目的地,它可能 正常工作,但请注意您当前的处理方式可能会导致您超限 str1缓冲区。

asprintf() 将为您分配一个缓冲区,其长度正确(读取:安全),但您必须记住 free() 该缓冲区,当您完成它。

关于c - 在 strcat 中添加空间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18124794/

相关文章:

c - 带分配地址的数组声明

c - 进程退出,返回值 3221226356

c - 在 C 中连接 8 个字符串形成 1 个字符串

c - 为什么我的指针数组返回一个 unicode 字符?

2个结构体之间的兼容性

c - 为什么我不能使用按位异或来交换字符串中的字符?

java - Stringbuilder 对象在哪里创建?

java - 使用正则表达式替换 +{user}100 等表达式

c++ - 如何提取字符串中任意位置的下一个整数?

c - 将字符串的一部分 append 到另一个字符串