我正在使用 ofstream
将一些字符串数据写入 .csv 文件,例如
out << string-A << "," << string-B << "\n" ;
但是,我找不到设置 .csv 文件列名称的方法。
我的意思是,我想将字符串 A 的列名称提供给(比如)Col-1,将字符串 B 的列名称提供给(比如)Col-2。
如何在 C++ 中执行此操作(我不想使用任何库)。我在windows环境下工作。
编辑:我想要这样的格式:
Col-1 col-2
1 4
2 5
3 6
4 7
列名是标题而不是单元格值?
最佳答案
out << "Col-1" << "," << "col-2" << "\n";
out << "1" << "," << "4" << "\n";
out << "2" << "," << "5" << "\n";
out << "3" << "," << "6" << "\n";
out << "4" << "," << "7" << "\n";
由于它是一个文本文件,您可以独立于数据编写每一行(即,如果它是标题/列名或数据行)。
但是,您很可能希望将数据写成循环,例如:
out << "Col-1" << "," << "col-2" << "\n";
for (var x = 1; x < 5; x++)
{
out << x.ToString() << "," << (x + 3).ToString() << "\n";
}
此外,在读取数据时,您希望跳过列名。为此,您可以默认跳过第一行,或者使用像# 这样的“注释”字符并动态跳过它。在这种情况下,文件的输出应如下所示:
#Col-1 col-2
1 4
2 5
3 6
4 7
以及产生这个的代码:
out << "#Col-1" << "," << "col-2" << "\n";
for (var x = 1; x < 5; x++)
{
out << x.ToString() << "," << (x + 3).ToString() << "\n";
}
关于c++ - 如何将列名设置为 csv 文件 - C++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17853103/