在C语言中,如何将单个字符附加到字符串中?

char* str = "blablabla";
char c = 'H';
str_append(str,c); /* blablablaH */

推荐答案

char* str = "blablabla";     

您根本不应该修改此字符串.它驻留在实现定义的只读区域中.修改它会导致Undefined Behavior.

您需要的是字符数组,而不是字符串文字.

Good Read:
What is the difference between char a[] = "string"; and char *p = "string";

C++相关问答推荐

如何将匿名VLA分配给指针?

通过管道将一个子系统的标准输出发送到另一个子系统的标准输出

返回一个包含数组的 struct

测量ARM MCU中断延迟的问题

如何在ASM中访问C struct 成员

将 struct 传递给函数

在基本OpenGL纹理四边形中的一个三角形中进行渲染

如何在GDB中查看MUSL的源代码

预处理器宏扩展(ISO/IEC 9899:1999(E)§;6.10.3.5示例3)

如何使用libgpio(d)为Raspberry Pi编译C程序?

C语言中神秘的(我认为)缓冲区溢出

条件跳转或移动取决于未初始化值(S)/未初始化值由堆分配创建(Realloc)

如何使这个While循环在新行上结束

S,在 struct 中创建匿名静态缓冲区的最佳方式是什么?

有没有办法减少C语言中线程的堆大小?

共享目标代码似乎不能在Linux上的进程之间共享

被调用方函数内部的C-Struct变量,它是指针还是无关紧要

挥发性语义的形式化理解

在哪里可以找到叮当返回码的含义?

c如何传递对 struct 数组的引用,而不是设置 struct 的副本