2014-03-05 138 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