我有一个字符数组:

char* name = "hello";

我想给这个名字加个扩展名

hello.txt

我该怎么做?

name += ".txt"美元不行

推荐答案

请看一下strcat函数.

特别是,您可以try 以下方法:

const char* name = "hello";
const char* extension = ".txt";

char* name_with_extension;
name_with_extension = malloc(strlen(name)+1+4); /* make space for the new string (should check the return value ...) */
strcpy(name_with_extension, name); /* copy name into the new var */
strcat(name_with_extension, extension); /* add the extension */

C++相关问答推荐

GCC:try 使用—WError或—pedantic using pragmas

va_copy的使用是未定义的行为吗?

堆栈在作用域阻塞后会被释放吗?

如果我释放其他内容,返回值就会出错

当我更改编译优化时,相同的C代码以不同的方式运行

自定义变参数函数的C预处置宏和警告 suppress ?

非正规化边缘毛刺

初始变量重置后,char[]的赋值将消失

如何在C中打印包含扫描字符和整数的语句?

进程在写入管道时挂起

如何在下面的C代码中正确管理内存?

如何计算打印二叉搜索树时每行所需的空间?

是否需要包括<;errno.h>;才能使用perror?

为什么未初始化的 struct 的数组从另一个数组获取值?

将变量或参数打包到 struct /联合中是否会带来意想不到的性能损失?

覆盖读取函数,但当文件描述符为3或4时,我有问题

Zlib:解压缩大文件导致";无效代码长度设置";错误

Go和C中的数据 struct 对齐差异

不兼容的整数到指针转换传递';char';到类型';常量字符*

从文件到链表读取日期