我有一个二维char数组[100] [100],我想将它按行保存到.txt文件中。按行我的意思是首先打印第一行中的所有字符,然后打印第二行,依此类推......
我可以编写控制台输出的代码,但不知道如何将其保存到.txt文件:
for (int x=0;x<100;x++)
{
for(int y=0;y<100;y++)
{
cout<<array[x][y];
}
}
请在这方面帮助我。谢谢。
答案 0 :(得分:2)
#include<iostream>
#include<fstream>
using std::cout;
int main(){
ofstream out("file_name.txt");
for(int x=0;x<100;x++){
for(int y=0;y<100;y++){
out << array[x][y];
}
out << "\n";
}
file.close();
return 0;
}
使用 "\n";
而不是endl;
会使您的代码更快,因为endl
将刷新您的文件流缓冲区并将其写入您的文件的每一行,是100次。所以最好不要将文件流缓冲区刷新到最后。在这种情况下,close函数将刷新缓冲区并自动关闭它。
答案 1 :(得分:1)
试试这个:
#include <fstream>
int main()
{
std::ofstream out("file_to_store_the_array.txt");
for(int x = 0; x < 100; x++) {
for(int y = 0; y < 100; y++) {
out << array[x][y];
}
}
out.close();
return 0;
}
答案 2 :(得分:0)
#include <iostream>
#include <fstream>
using namespace std;
int main () {
ofstream myfile;
myfile.open ("example.txt");
for (int x=0;x<100;x++)
{
for(int y=0;y<100;y++)
{
myfile<<array[x][y];
}
myfile<<endl;
}
myfile.close();
return 0;
}
不知道它是否编译,但大致应该告诉你是如何完成的。 (&lt;&lt; ENDL;用于在行之间发出CR(或CR / LF,具体取决于系统))