CPP 显示CSV表格
时间: 2024-09-25 08:09:16 浏览: 32
在C++中显示CSV(逗号分隔值)表格通常需要通过文件操作、流处理以及字符串格式化来实现。以下是一个简单的示例,展示如何读取CSV文件并将其内容打印到控制台:
```cpp
#include <fstream>
#include <sstream>
#include <vector>
// 用于将行分割成字段的辅助函数
std::vector<std::string> split(const std::string &s, char delimiter) {
std::vector<std::string> tokens;
size_t tokenStart = 0, tokenEnd = s.find(delimiter);
while (tokenEnd != std::string::npos) {
tokens.push_back(s.substr(tokenStart, tokenEnd - tokenStart));
tokenStart = tokenEnd + 1;
tokenEnd = s.find(delimiter, tokenStart);
}
// 如果最后一部分不是空格或分隔符,则添加它
if (tokenStart < s.size()) {
tokens.push_back(s.substr(tokenStart));
}
return tokens;
}
int main() {
std::ifstream file("example.csv");
if (!file.is_open()) {
std::cerr << "Failed to open the CSV file." << std::endl;
return 1;
}
std::string line;
while (std::getline(file, line)) {
std::vector<std::string> fields = split(line, ',');
for (const auto &field : fields) {
std::cout << field << "\t"; // 每列后加制表符
}
std::cout << std::endl; // 行结束换行
}
file.close();
return 0;
}
```
在这个例子中,我们首先打开CSV文件,然后逐行读取。每行会被split函数按逗号分割成字段,然后每个字段单独打印,字段间用制表符(`\t`)分隔。如果文件无法打开,程序会报告错误。
阅读全文