10-getc()和putc()函数
13.2.3 getc() 和 putc() 函数
getc() 和 putc() 函数与 getchar() 和 putchar() 函数类似。所不同的是,要告诉 getc() 和 putc() 函数使用哪一个文件。下面这条语句的意思是“从标准输入中获取一个字符”:
ch = getchar();
然而,下面这条语句的意思是“从 fp 指定的文件中获取一个字符”:
ch = getc(fp);
与此类似,下面语句的意思是“把字符 ch 放入 FILE 指针 fpout 指定的文件中”:
putc(ch, fpout);
在 putc() 函数的参数列表中,第1个参数是待写入的字符,第2个参数是文件指针。
程序清单13.1把 stdout 作为 putc() 的第2个参数。 stdout 作为与标准输出相关联的文件指针,定义在 stdio.h 中,所以 putc(ch, stdout) 与 putchar(ch) 的作用相同。实际上, putchar() 函数一般通过 putc() 来定义。与此类似, getchar() 也通过使用标准输入的 getc() 来定义。
为何该示例不用 putchar() 而要用 putc() ?原因之一是为了介绍 putc() 函数;原因之二是,把 stdout 替换成别的参数,很容易将这段程序改写成文件输出。