小编典典

fprintf、printf 和 sprintf 的区别?

all

谁能用简单的英语解释 , 和 with 例子之间printffprintf区别sprintf

它在哪个流中?

在阅读“C 中的文件处理”时,我真的对这三者感到困惑。


阅读 118

收藏
2022-05-16

共1个答案

小编典典

在 C
中,“流”是一种抽象;从程序的角度来看,它只是字节的生产者(输入流)或消费者(输出流)。它可以对应于磁盘上的文件、管道、终端或其他一些设备,例如打印机或
tty。该FILE类型包含有关流的信息。通常,您不会FILE直接处理对象的内容,只需将指向它的指针传递给各种 I/O 例程即可。

一共有三个标准流:stdin一个是指向标准输入流stdout的指针,一个是指向标准输出流stderr的指针,一个是指向标准错误输出流的指针。在交互式会话中,这三个通常指的是您的控制台,尽管您可以将它们重定向到指向其他文件或设备:

$ myprog < inputfile.dat > output.txt 2> errors.txt

在此示例中,stdinnow
指向inputfile.datstdout指向output.txtstderr指向errors.txt

fprintf将格式化文本写入您指定的输出流。

printf相当于fprintf(stdout, ...)将格式化文本写入标准输出流当前指向的任何位置。

sprintf将格式化文本写入 的数组char,而不是流。

2022-05-16