-3

我有一个二维字符数组[100][100],我想将它按行保存到 .txt 文件中。逐行我的意思是首先打印第一行中的所有字符,然后打印第二行,依此类推......

我可以编写控制台输出的代码,但不知道如何将其保存到 .txt 文件:

for (int x=0;x<100;x++)
{
    for(int y=0;y<100;y++)
    {
        cout<<array[x][y];
    }
}

请在这方面帮助我。谢谢你。

4

3 回答 3

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 次。所以最好不要刷新文件流缓冲区,直到结束。在这种情况下,关闭功能将刷新您的缓冲区并自动关闭它。

于 2012-06-28T15:39:35.773 回答
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;
}
于 2012-06-28T15:32:10.423 回答
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;
}

不知道它是否编译,但大致应该告诉你是如何完成的。(<< ENDL; 用于在行之间发出 CR(或 CR/LF,取决于系统))

于 2012-06-28T15:31:36.670 回答