gpt4 book ai didi

c - 将单个字符追加到 C 中的动态字符数组

转载 作者:行者123 更新时间:2023-11-30 15:31:33 25 4
gpt4 key购买 nike

如何将字符附加到 char* 上?所以...

char* thingy = "test";
char* another = "hello world";

thingy += another[6];

printf("%s\n", thingy);

我不希望输出是:

testw

但是,我得到了这个输出

at address %p

编辑:

感谢您的帮助:)

最佳答案

C 中没有字符串算术,所以你不能那样做。

但是,您可以使用 strcat()(只要有空间容纳这些字符):

char thingy[256] = "Hello World";

strcat(thingy, "!");

// thingy is now "Hello World!"

尽管需要注意的是,您应该始终检查字符串长度,并且在执行此类操作时要小心。

如果您想添加单个字符而不是字符串,您可以将该字符复制到字符串中:

char thingy[256] = "Hello World";

char dummy[] = "#";

dummy[0] = '!';
strcat(thingy, dummy);

// thingy is now "Hello World!"

或者以手动方式进行:

char thingy[256] = "Hello World";

unsigned int len = strlen(thingy);

thingy[len] = '!'; // Append character
thingy[len + 1] = '\0'; // Readd termination

// thingy is now "Hello World!"

关于c - 将单个字符追加到 C 中的动态字符数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24706572/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com