gpt4 book ai didi

c - 如何从 C 中的字符数组中获取字符串?

转载 作者:太空宇宙 更新时间:2023-11-04 06:40:31 25 4
gpt4 key购买 nike

编辑:我现在明白字符串和内存在 C 中是如何工作的,这个问题是由于理解不当造成的

我有一个字符缓冲区,大小为 64 个元素。数据由另一个函数放入其中。我想获取数组中不等于 null 的所有元素。

为了更好的解释,这里有一个例子(伪代码)

char[5] data;
data[0] = 'c';
data[1] = 'a';
data[2] = 't';
data[3]; // = null
getString(data); // Should return "cat"

最佳答案

C 中的字符串由字符数组表示。这些字符串以空(终止)字符终止。因此,如果您手动构建一个字符数组,就无法“从字符数组中获取字符串”,因为它已经是字符串了。

#include <stdio.h>

int main ()
{
char data[5];
data[0] = 'c';
data[1] = 'a';
data[2] = 't';
data[3] = '\0'; // terminating character (avoid using NULL)
data[4] = 'x';

printf("%s", data); // output: cat
return 0;
}

像 printf 这样的函数“运行”遍历这个数组,直到找到终止符,这就是为什么在我的示例中无法输出“x”的原因。

关于c - 如何从 C 中的字符数组中获取字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9044474/

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