gpt4 book ai didi

c - 为什么 fputs() 不附加一个尾随的新行?

转载 作者:太空狗 更新时间:2023-10-29 15:32:25 26 4
gpt4 key购买 nike

或等效地,

为什么 puts() 会追加一个尾随换行符?


当输出字符串时,可能会用到两个类似的函数:fputs()puts()

puts() 在输出时自动在末尾添加一个新行,但 fputs() 不会。

这种不一致背后有什么原因吗?我的意思是,调用 printf(fmtstr, ...)fprintf(stdout, fmtstr, ...) 具有相同的行为。为什么 puts(str)fputs(str, stdout) 不应该是这种情况?

是因为向后兼容,还是有充分的理由以这种方式实现它们?

最佳答案

puts 写入标准输出,“众所周知”是面向行的终端,而 fputs 可以写入文件,但没有那个含义.特别是,它是一种比组合 strlenfwrite 更方便的方法。

gets(现已弃用)和 fgets 之间存在相同的关系。

关于c - 为什么 fputs() 不附加一个尾随的新行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30007880/

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