c++逐行读取txt

首先,之前使用c++读取txt是用的下面的代码,是将每行的字符串写入到vector中,后面可以根据要求再对vector进行处理。

		ifstream infile;
		infile.open(final_path.data());   //将文件流对象与文件连接起来 
		assert(infile.is_open());   //若失败,则输出错误消息,并终止程序运行 
		string s;
		vector data;
		while (getline(infile, s))
		data.push_back(s.c_str());
		infile.close();             //关闭文件输入流 

但是,在txt文本太多时,读取速度较慢,改为

		ifstream fin(final_path);
		string  inx, x, y, z,labl;
		string temp;
		while (fin >> temp)
		{
			data.push_back(temp.c_str());
			//cout << temp << endl;
		}
		cout << data.size() << endl;

速度提升较明显!!!!特别的是,它不是逐行提取的 而是以空格提取。同时只要能用文本打开的文件也可以以这种方式提取,只需要改好路径就可以了。

你可能感兴趣的:(c++,c++)