首页 > 代码库 > APUE第五章标准I/O库

APUE第五章标准I/O库

 

 

技术分享

 

使用标准IO库时,进程(或者是shell)自动打开并关联到程序运行窗口的标准输入输出流对象,为标准输入,标准输出,标准出错,这些流对象引用的文件,与不带缓冲的IO函数使用的文件描述符,它们关联的文件对是相同的,这些文件应该指的就是那些窗口,窗口在显示器上(显示器是文件),如果使用了重定向,那么所谓的文件,就是硬盘上的指定文件。也就是说,流对象(标准IO使用)与文件描述符(不带缓冲的IO使用),它们关联到相同的文件。

技术分享

 

技术分享

 

程序清单5-2用fgets和fputs将标准输入复制到标准输出

#include "apue.h"int main(void){    char buf[MAXLINE];    while (fgets(buf, MAXLINE, stdin) != NULL)    {        if (fputs(buf, stdout) == EOF)        {            err_sys("output error");        }    }    if (ferror(stdin))    {        err_sys("input error");    }    exit(0);}
all: mycat getcputc fgetsfputsmycat: mycat.c	g++ -g -Wall mycat.c ../lib/libapue.a -I ../include -o mycatgetcputc: getcputc.c	g++ -g -Wall getcputc.c ../lib/libapue.a -I ../include -o getcputcfgetsfputs: fgetsfputs.c	g++ -g -Wall fgetsfputs.c ../lib/libapue.a -I ../include -o fgetsfputsclean:	rm mycat getcputc fgetsfputs

 

 

技术分享

 

技术分享

 

 

技术分享

APUE第五章标准I/O库