前言
C++ getline():从文件中读取一行字符串
Code
#include <iostream>
#include <fstream>
using namespace std;
int main()
{
char c[40];
//以二进制模式打开 in.txt 文件
ifstream inFile("in.txt", ios::in | ios::binary);
//判断文件是否正常打开
if (!inFile) {
cout << "error" << endl;
return 0;
}
//从 in.txt 文件中读取一行字符串,最多不超过 39 个
inFile.getline(c, 40);
cout << c ;
inFile.close();
return 0;
}
假设 in.txt 文件中存有如下字符串:
http://c.biancheng.net/cplus/
则程序执行结果为:
http://c.biancheng.net/cplus/
假如限制条件
inFile.getline(c,40,'c');
这意味着,一旦遇到字符 ‘c’,getline() 方法就会停止读取。 再次运行程序,其输出结果为:
http://
读取文件中的多行数据
#include <iostream>
#include <fstream>
using namespace std;
int main()
{
char c[40];
ifstream inFile("in.txt", ios::in | ios::binary);
if (!inFile) {
cout << "error" << endl;
return 0;
}
//连续以行为单位,读取 in.txt 文件中的数据
while (inFile.getline(c, 40)) {
cout << c << endl;
}
inFile.close();
return 0;
}
假设 in.txt 文件中存有如下数据:
http://c.biancheng.net/cplus/
http://c.biancheng.net/python/
http://c.biancheng.net/java/
则程序执行结果为:
http://c.biancheng.net/cplus/
http://c.biancheng.net/python/
http://c.biancheng.net/java/