gpt4 book ai didi

C 添加一个字符到缓冲区

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

我想问一下如何将一个字符添加到缓冲区。例如:

char buffer[50];
char one_symbol;

如何将 one_symbol 添加到 buffer?我不知道当时缓冲区有多长,所以我不能只写,例如 buffer[5] = one_symbol;

谢谢。

最佳答案

您需要做些什么来跟踪缓冲区中数据的长度。

关于如何做到这一点,您有几个选择。字符串将数据存储在缓冲区(一个 NUL 字节)中以指示数据在哪里结束。另一种可能性是在外部存储长度:

typedef struct { 
char data[50];
size_t len;
} buffer;

当/如果您想要允许本身可能包含 NUL 字节的数据时,后者尤其可取。如果您不想将缓冲区大小固定为 50,则可以更进一步:

typedef struct { 
size_t allocated;
size_t in_use;
char data[];
};

请注意,这使用了灵活的数组成员,这是在 C99 中添加的,因此一些较旧的编译器不支持它。

关于C 添加一个字符到缓冲区,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16753034/

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