我已经阅读了很多关于这个的内容,但我无法理解,例如,我想更改字符串中的一个字符。
假设我有以下字符串:
char a [] = "stackoverflow"
然后我想在末尾再添加 5 个字母,或者再删除 2 个字母,等等......得到这样的字符串:
char b [] = "stackoverflowstack"
char b [] = "stackoverfl"
我该怎么做,请有人向我解释一下,在此先感谢...
最佳答案
您可以通过 C 库调用使用动态内存分配,例如 malloc
.这需要您有可用的堆内存。我不会进一步讨论这个问题,因为有很多引用资料可用。
如果这不是一个选项,您将需要使用 strncpy
并创建足够大的数组来存储部分结果。
例如,在您选择的示例中:
const char* stackOverflow[] = "stackoverflow";
char a[20]; // Enough room for the largest possible string.
strncpy(a, stackOverflow, sizeof(a));
strncpy(a, "stackoverflowstack", sizeof(a)); // Copy null char as well
strncpy(a, "stackoverfl", sizeof(a)); // Copy null char as well
关于在 C 中改变一个字符串的大小,有可能吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21151410/