-3

私は 2 次元の char 配列 [100][100] を持っていて、行単位で .txt ファイルに保存したいと考えています。行単位とは、最初の行のすべての文字が最初に印刷され、次に2行目が印刷されることを意味します...

コンソール出力用のコードを書くことはできますが、それを .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;


}

ファイルストリームバッファをフラッシュし、行ごとに100回ファイルに書き込むため、"\n";ではなくを使用endl;するとコードが高速になります。endlしたがって、ファイルストリームバッファを最後までフラッシュしない方がよいでしょう。この場合、close関数はバッファをフラッシュして自動的に閉じます。

于 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 に答える