首先,之前使用c++读取txt是用的下面的代码,是将每行的字符串写入到vector中,后面可以根据要求再对vector进行处理。
ifstream infile;
infile.open(final_path.data()); //将文件流对象与文件连接起来
assert(infile.is_open()); //若失败,则输出错误消息,并终止程序运行
string s;
vector<string> 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;
速度提升较明显!!!!特别的是,它不是逐行提取的 而是以空格提取。同时只要能用文本打开的文件也可以以这种方式提取,只需要改好路径就可以了。