使用 std::getline
函数读取文件行。
https://en.cppreference.com/w/cpp/string/basic_string/getline
下面进行不同写法读取文件行的方式的比较。
for (std::string line; std::getline(ifs, line);) {
}
VS
std::string line;
while (!ifs.eof()){
std::getline(ifs,line);
}
实际使用时选择方式一即可。
#include <fstream>
#include <iostream>
int main(int argc, char* argv[]) {
{ // 方式1
auto total = 0;
for(auto i = 0;i < 10;i++){
std::ifstream ifs("ais.dat");
if(!ifs.is_open()){
return -1;
}
auto begin = std::chrono::steady_clock::now();
for (std::string line; std::getline(ifs, line);) {
}
auto end = std::chrono::steady_clock::now();
total += std::chrono::duration_cast<std::chrono::microseconds>(end