template<typename T> std::vector<T> parseCSV(const std::string &filename) { std::vector<T> data; std::ifstream file(filename); if (file) { std::string line; while (std::getline(file, line)) { T obj; obj.parseCSVRow(line); data.push_back(obj); } file.close(); } else { std::cout << "Failed to open the file: " << filename << std::endl; } return data; }
时间: 2024-03-04 17:52:10 浏览: 106
cpp代码-模板 泛型 template<typename> template<class>
这是一个 C++ 的函数,用于解析 CSV 格式的文件,将其转化为指定类型的对象并存储在 vector 中。函数的模板参数 T 是表示要解析的对象类型,该类型需要定义 parseCSVRow 函数,用于解析一行 CSV 数据并初始化对象的属性。函数的参数 filename 表示要解析的文件名。函数首先打开指定的文件,然后逐行读取文件内容,创建对象并调用 parseCSVRow 函数进行解析,最后将对象存储在 vector 中并返回。如果文件打开失败,函数会输出错误信息并返回空 vector。
阅读全文