int getc(FILE *stream); // 从流中读取字符串;
- fgetc:从文件指针stream指向的文件中读取一个字符,读取一个字节后,光标位置后移一个字节。
while ((c == ' ') || (c == '\t') || (c == '\n')) { c = getc(fp); }
跳过文件的空格符、制表符以及换行符;
1. 循环获取成对整数
int a, b;
while (scanf("%d %d", &a, &b) != EOF){
...
}
while 循环的退出,对于:
- (1)windows 系统:ctrl + z
- (2)Linux 系统:ctrl + d
EOF:end of file
# define EOF (-1)
2. getline:循环逐行读取(保存为字符串)
#include <iostream>
#include <string>
using namespace std;
int main(int, char**){
string line;
while (true){
getline(cin, line, '\n');
// 以换行为结束,允许行内有空格
cout << line << endl;
}
return 0;
}
3. 字符输入
while ((c = getc(stdin)) != EOF){
if (putc(c, stdout) == EOF)
...
}
if (ferror(stdin))
...