Tbl read_csv(const char* filename) { std::ifstream ifs(filename); std::string line; Tbl tbl; while (std::getline(ifs, line)) { std::istringstream ss(line); std::vector<std::string> columns; std::string column; while (std::getline(ss, column, ',')) { columns.push_back(column); } tbl.push_back(columns); } return tbl; }
Tbl read_csv(const char* filename, int* max_id) { std::ifstream ifs(filename); std::string line; std::getline(ifs, line); // Remove first line Tbl tbl; *max_id = -1; while (std::getline(ifs, line)) { std::istringstream ss(line); std::vector<std::string> columns; std::string column; while (std::getline(ss, column, ',')) { columns.push_back(column); } tbl.push_back(columns); int id = std::stoi(columns[0]); if (id > *max_id) *max_id = id; } return tbl; }