关于C语言输出的提问
各位朋友,我今天在看一篇有关C语言输入输出的函数比较的文章是碰到这样的问题,例如:printf()函数使用文件系统进行输出,cprintf()函数直接从控制台输出,请问什么是文件系统输出和控制台输出啊?本人为编程初学者,请教各位高手。
在C语言中,‘流’是一个抽象概念。C语言将其作为与计算机外设进行I/O的对象。标准C库提供了两种类型的‘流’:文本
流、二进制流(但有些系统不区分,如UNIX)。
打开一个‘流’将把它和一个文件或设备关联起来,关闭‘流’将断开这种连接。在C中打开一个文件将返回一个指向FILE
类型对象的指针,该指针记录了控制该关联‘流’的所有必要信息。
c程序开始执行时,c runtime支撑代码默认会打开stdin、stdout、stderr这3个'流'。在微型机上将其关联到标准输出设
备:显示器上。
C标准库提供: int fprintf(FILE* stream, const char* fotmat,...)这个函数
从这里可以看出来,FILE* stream是可以改变的。它可以是任何‘流’对象。
printf 实际上就是int fprintf(FILE* stdout,const char* format,...);