istream & getline(char* buf, int bufSize);
istream & getline(char* buf, int bufSize, char delim);
举个例子:注意,如果文件输入流中 \n 或 delim 之前的字符个数达到或超过 bufSize,就会导致读取失败。
#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/
版权说明:Copyright © 广州松河信息科技有限公司 2005-2025 版权所有 粤ICP备16019765号
广州松河信息科技有限公司 版权所有