gpt4 book ai didi

C 编程 - 如何将 char 写入 char*

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

C 中的几个函数确保将字符写入流,例如:

 int fputc ( int character, FILE * stream );
int putchar ( int character );
int putc ( int character, FILE * stream );
...

我的问题很简单:是否有任何函数可以将字符写入char*? (回调(int character, char * stream))

更新:更多地解释我的问题我正在使用 lex/yacc 编译解决方案。
input() 函数返回流中的下一个字符。我想针对指定条件将此函数返回的整个流存储到一个变量中。

最佳答案

由于指针运算是 C 语言的本质,因此没有这样的函数。要将字符放入 stream 指向的内存中并推进它,您可以这样做:

*stream++ = character;

在下一个序列点 stream 将指向新的、仍未写入的字符。

当然,请确保您不会将 stream 推进到其分配区域的边界之外。为防止这种情况发生,您可以做一个简单的计算:

if (stream - base > BUFFER_SIZE) /* stop */

base 将是一个指向分配区域开始的指针,stream 的初始值。

关于C 编程 - 如何将 char 写入 char*,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8614405/

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