如何将数组的内容写入文本文件?

时间:2014-03-05 06:15:56

标签: c++ arrays logging

如何将数组内容写入文本文件? 有可能吗?

以下是我的代码:

x=0;
y=0;
//copy to real array
if(nRow == 0){
    for(i=nTCol; i>=0 ; i--){
        nPanelMap[nRow][x] = nTempMap[i];
        x++;
    }

}
if(nRow == 1){
    for (i=nTCol; i>=0 ; i--){
        nPanelMap[nRow][y] = nTempMap[i];
        y++;
    }
}
k=0;

for (i=nTCol; i>=0 ; i--){
    array [k] = nPanelMap[nRow][x];
    k++;
    array [k] = nPanelMap[nRow][y];
    k++;

}
j=0;
for (i=nTCol; i>=0 ; i--){

    nPanelMap[nRow][j] = array [k];
    j++;
}
nRow++;

我想打印出数组xykj,然后将它们写入文本文件。 这样做的目的是确保数据传递正确。

3 个答案:

答案 0 :(得分:5)

是的,您可以写入文本文件。

#include <iostream>
#include <fstream>
using namespace std;

int main () {
  const int size = 5;
  double x[] = {1,2,3,4,5}; 

  ofstream myfile ("example.txt");
  if (myfile.is_open())
  {
    myfile << "This is a line.\n";
    myfile << "This is another line.\n";
    for(int count = 0; count < size; count ++){
        myfile << x[count] << " " ;
    }
    myfile.close();
  }
  else cout << "Unable to open file";
  return 0;
}

更多参考资料: http://www.cplusplus.com/doc/tutorial/files/

要编写数组数据,请使用此功能。

for(int count = 0; count < size; count ++){
            out_myfile << x[count] << " " ;
}

答案 1 :(得分:1)

我的建议是,如果希望生成的文件是人类可读的,则使用JSON(JavaScript Object Notation)格式。 JSON记录在http://json.org/。在https://github.com/Loki-Astari/ThorsSerializer找到的ThorsSerializer是一个用于JSON的C ++序列化库。序列化,如http://en.wikipedia.org/wiki/Serialization中所定义,“是将数据结构或对象状态转换为可以存储的格式(例如,在文件或内存缓冲区中,或通过网络连接链接传输)并重建的过程后来在相同或另一个计算机环境中。“如果ThorsSerializer不适合您,我建议您在Google上搜索“C ++ JSON序列化库”。

我在Google搜索时发现的另一个选项是“谷歌 - 用于序列化的C ++ 11库”,位于http://uscilab.github.io/cereal/

答案 2 :(得分:0)

使用fstream类进行文件写入,读取,追加,搜索等操作。