gpt4 book ai didi

c - fprintf、printf 和 sprintf 之间的区别?

转载 作者:太空狗 更新时间:2023-10-29 16:13:52 25 4
gpt4 key购买 nike

谁能用简单的英语举例说明printffprintfsprintf之间的区别?

它在什么流中?

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

最佳答案

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

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

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

在这个例子中,stdin现在指向inputfile.datstdout指向output.txtstderr 指向 errors.txt

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

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

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

关于c - fprintf、printf 和 sprintf 之间的区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4627330/

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