EOF是指文件的结束符,是一个宏定义
-
EOF是end of file的缩写,表示"文字流"(stream)的结尾。这里的"文字流",可以是文件(file),也可以是标准输入(stdin)。
-
EOF不是特殊字符,而是一个定义在头文件stdio.h的常量,一般等于-1。
#define EOF (-1)
-
除了表示文件结尾,EOF还可以表示标准输入的结尾。但是,标准输入与文件不一样,无法事先知道输入的长度,必须手动输入一个字符,表示到达EOF
用cin.get()、getchar()可以在不了解其它输入/输出知识的情况下编写出
数量惊人的有用的代码
第一种做法:
#include <iostream>
#include <cstdio>
using namespace std;
int main()
{
char c;
while(scanf("%c",&c) !=EOF)
{
printf("%c",c);
}
}
第二种做法:
#include <stdio.h>
main()
{
int c;
while ((c = getchar()) != EOF)
putchar(c);
}
第三种做法:
#include <iostream>
using namespace std;
int main()
{
int c;
while((c= cin.get()) != EOF){
cout << (char)c;
}
return 0;
}