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号
广州京杭网络科技有限公司 版权所有