2014-03-05 42 views
2

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

下面是我的代码:

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,并写入到一个文本文件中。 这样做的目的是为了确保数据传递是正确的。

+0

好用于写入一个文本文件,[这里](http://www.cplusplus.com/doc/tutorial/files/)是关于C++使用好的教程/简介用于格式化输出,使它看起来整洁,请参阅[this](http://stackoverflow.com/questions/11226143/formatting-output-in-c)答案为例。 –

回答

4

是的,你可以写到一个文本文件。

#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] << " " ; 
} 
+0

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

+0

使用循环.. –

+0

所以,你永远不会定义'out_myfile'。我猜这应该是'myfile'?同样,'a'应该是'count'? – dbliss

0

使用的fstream类,如文件的写入,读取,追加,求等操作方法。

0

我的建议是使用JSON(JavaScript对象符号)格式,如果你想生成的文件是人类可读的。 JSON记录在http://json.org/。在https://github.com/Loki-Astari/ThorsSerializer上找到的ThorsSerializer是一个用于JSON的C++序列化库。串行化,如在http://en.wikipedia.org/wiki/Serialization定义的,“是转换数据结构或对象状态为可以被存储(例如,在文件或存储器缓冲器,或通过网络连接链路传送)和在相同的后重构的格式的过程或其他计算机环境。“如果ThorsSerializer不适合您,我建议您搜索“C++ JSON序列化库”。

另一种选择这样做,谷歌搜索时,我发现是“谷物 - 一个C++ 11库序列化”在​​找到。

+0

使用JSON应该在应用程序中保存和加载阵列时需要考虑的,但恕我直言,是为调试目的倾销阵列矫枉过正。 – Melebius