C++:如何在.csv文件中正确写入

C++: How to correctly write in a .csv file

本文关键字:文件 csv C++      更新时间:2023-10-16

我在一个文本文件中有以下数据

04EC3AC705EA3AC8042C3BC7051A3AC8043C3AD7054A3AE8

我想将这些数据放入一个.csv文件中,在单列中,如下所示。

04EC,3AC7
05EA,3AC8
042C,3BC7
051A,3AC8
043C,3AD7
054A,3AE8

到目前为止,我尝试的是:

fp=fopen("D:/pattern.csv", "a+")
 Then I read the original values from the text file in a buffer
fwrite(buffer, 48,1,fp);

但我再次在csv表中的一个单元格中获取所有值。

请告诉我实现这一目标的更好方法。我在MSVS 2010 win32中开发了这段代码,我将在另一个用C++/CLI Windows窗体应用程序编写的应用程序中使用这段代码。

感谢

如果我很清楚,您的输入文件只包含一行和一个字符串。你想把它转换成成对的4个字符吗?

像这样一种更"C++"的方式怎么样?

std::string input_file_name = "input.txt";
std::string output_file_name = "output.csv";
std::string line;
std::ifstream input_file(input_file_name.c_str());
input_file >> line;
std::ofstream output_file(output_file_name.c_str());
for(unsigned long int i = 0; i + 7 < line.length(); i += 8)
  output_file << line.substr(i, 4) << "," << line.substr(i + 4, 4) << std::endl;