C++ 无法使用ofstream写入空间,但endl工作正常

C++ 无法使用ofstream写入空间,但endl工作正常,c++,ofstream,endl,C++,Ofstream,Endl,好吧,这似乎是个简单的问题;但我似乎找不到答案。我的代码如下: void writeFile(int grid[9][9]) { ofstream fout ("myGame2.txt"); if (fout.is_open()) { for (int i = 0; i < 9; i++) { for (int j = 0; j < 9; j++) { fout << grid[i][j] <<

好吧,这似乎是个简单的问题;但我似乎找不到答案。我的代码如下:

void writeFile(int grid[9][9]) {
   ofstream fout ("myGame2.txt");
   if (fout.is_open()) {
      for (int i = 0; i < 9; i++) {
         for (int j = 0; j < 9; j++) {
            fout << grid[i][j] << ' ';
         }
      }
      fout.close();
   }
}
但是如果我用endl替换空格字符,它的输出就很好了

fout << grid[i][j] << endl;

fout根据您使用的IDE,在没有endl的情况下结束文件可能会导致问题。
解决方案:

void writeFile(int grid[9][9]) {
   ofstream fout ("myGame2.txt");
   if (fout.is_open()) {
      for (int i = 0; i < 9; i++) {
         for (int j = 0; j < 9; j++) {
            fout << grid[i][j] << ' ';
         }
      }
      fout << endl;
      fout.close();
   }
}
void writeFile(int grid[9][9]){
ofstream fout(“myGame2.txt”);
if(fout.is_open()){
对于(int i=0;i<9;i++){
对于(int j=0;j<9;j++){

你有没有试过用双引号代替单引号的空格?(比如用字符串代替字符)?@John3136是的,我已经用“”替换了“”。我得到了相同的结果。你说的乱七八糟到底是什么意思?@rici下面的文本是在代码执行时生成的。''''''.''.''.''.'.''.''.'.''.''.''.''.'''.''.''.''.'.''.''.''.''.''.'.'.''.'.'.''.'.'.'.'.'.'.''.'.''.'.'.'.'.'.'.'.'.''.''.''''.'''''.'.'.'.''''.''''.''.'.''.''''.'''.''.'.'.'.'.''''.'''就是这样,文件结尾不能用endl,这是个问题。非常感谢。
void writeFile(int grid[9][9]) {
   ofstream fout ("myGame2.txt");
   if (fout.is_open()) {
      for (int i = 0; i < 9; i++) {
         for (int j = 0; j < 9; j++) {
            fout << grid[i][j] << ' ';
         }
      }
      fout << endl;
      fout.close();
   }
}
 void writeFile(int grid[9][9]) {
       ofstream fout ("myGame2.txt");
       if (fout.is_open()) {
          for (int i = 0; i < 9; i++) {
             for (int j = 0; j < 9; j++) {
                fout << grid[i][j] << ' ';
             }
             fout << endl;
          }
          fout.close();
       }
    }