何时使用 printf vs fprintf(stderr) [重复]

Posted

技术标签:

【中文标题】何时使用 printf vs fprintf(stderr) [重复]【英文标题】:When to use printf vs fprintf(stderr) [duplicate] 【发布时间】:2020-01-24 02:44:27 【问题描述】:

以下两种说法有区别吗:

fprintf(stderr, "Hello this is something\n");
printf("Hello this is something\n");

如果有,有什么区别,什么时候用一个而不是另一个?

【问题讨论】:

如果是错误信息,应该正确输出到stderr,正常输出到stdout。另外,如果没有转换说明符,则不需要(f)printf,只需使用fputs,例如fputs ("error: Hello this is something -- failed\n", stderr); 【参考方案1】:

对于您的特定 2 Ines 代码,不,它们不一样。

printf 只写入标准输出(不是标准错误)

当您想写入不同的流而不是标准输出时,您可以使用 fprintf。

【讨论】:

以上是关于何时使用 printf vs fprintf(stderr) [重复]的主要内容,如果未能解决你的问题,请参考以下文章

printf 和 fprintf 在c 和c++中的使用。

Golang输入输出格式化Printf Springf Fprintf..

VS2015 现在错误 C4477 "fprintf"

fprintf vs WriteFile 写入管道:无法从所有管道读取

printf, fprintf, sprintf, snprintf, vprintf, vfprintf, vsprintf, vsnprintf - 输出格式转换

fprintf与stderrstdout的使用