谁能用简单的英语解释 , 和 with 例子之间printf的 fprintf区别sprintf?
printf
fprintf
sprintf
它在哪个流中?
在阅读“C 中的文件处理”时,我真的对这三者感到困惑。
在 C 中,“流”是一种抽象;从程序的角度来看,它只是字节的生产者(输入流)或消费者(输出流)。它可以对应于磁盘上的文件、管道、终端或其他一些设备,例如打印机或 tty。该FILE类型包含有关流的信息。通常,您不会FILE直接处理对象的内容,只需将指向它的指针传递给各种 I/O 例程即可。
FILE
一共有三个标准流:stdin一个是指向标准输入流stdout的指针,一个是指向标准输出流stderr的指针,一个是指向标准错误输出流的指针。在交互式会话中,这三个通常指的是您的控制台,尽管您可以将它们重定向到指向其他文件或设备:
stdin
stdout
stderr
$ myprog < inputfile.dat > output.txt 2> errors.txt
在此示例中,stdinnow 指向inputfile.dat、stdout指向output.txt和stderr指向errors.txt。
inputfile.dat
output.txt
errors.txt
fprintf将格式化文本写入您指定的输出流。
printf相当于fprintf(stdout, ...)将格式化文本写入标准输出流当前指向的任何位置。
fprintf(stdout, ...)
sprintf将格式化文本写入 的数组char,而不是流。
char