标准I/O缓冲和输入输入函数缓冲之间是什么样子的关系啊?

发布于 2022-07-21 00:15:14 字数 225 浏览 10 评论 2

比如说,使用fputs向stdout输出的时候,fputs中的buf的缓冲中若有换行符但是最后一个字符又不是null.
为什么最后没有输出,而且程序不能退出?
行缓冲不是遇到换行符就输出么?

如:
char *str = "string1nstring2!";
str[15] = 'E';

fputs(str, stdout);

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

画中仙 2022-07-24 07:19:00

我的程序有错误
char *str = "string1nstring2!";
这样的话,str指向了一个字符串常量
字符串常量是不可以修改的

请叫√我孤独 2022-07-23 18:55:09

原帖由 zxbjlu1983 于 2006-8-22 07:10 发表
比如说,使用fputs向stdout输出的时候,fputs中的buf的缓冲中若有换行符但是最后一个字符又不是null.
为什么最后没有输出,而且程序不能退出?
行缓冲不是遇到换行符就输出么?

如:
char *str = "str ...

>>
>>
>>你这个程序可以正常运行看到结果吗?我这里看到的是断错误。
>>
>>

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文