如何将数组内容写入文本文件? 有可能吗?
以下是我的代码:
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++;
我想打印出数组x
,y
,k
和j
,然后将它们写入文本文件。
这样做的目的是确保数据传递正确。
答案 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类进行文件写入,读取,追加,搜索等操作。