scanf和getchar在检测到文件尾时返回值是EOF。通常EOF在stdio.h中被定义为-1。因为一般情况下getchar返回的值为0~127之间或者扩展的0~256的字符编码,永远不会使用-1对应任何字符,所以可以用它来标记文件尾。

 

  1. #include<stdio.h> 
  2. int main(void){ 
  3.     char ch; 
  4.     while((ch = getchar()) != EOF){//使用ctrl+Z来模拟文件尾 
  5.         putchar(ch); 
  6.     } 
  7.     return 0; 
  8. }

重定向

  • 重定向输入流的方法是在命令行中输入“可执行文件名 < 输入文件名”,这样就可以使用输入文件中的内容来代替键盘输入了!
  • 重定向输出流的方法是在命令行中输入“可执行文件名 > 输出文件名”,这样就可以使用输入文件中的内容来代替键盘输出了!
  • 组合重定向的方法是在命令行中输入“可执行的文件名 <输入文件名 >输出文件名”,这样就可以实现一个文件的拷贝了!