如何将二维char类型数组逐行保存到c中的.txt文件?

时间:2012-06-28 15:24:43

标签: c++ arrays multidimensional-array

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

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

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

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

3 个答案:

答案 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,具体取决于系统))