【问题标题】:Why doesn't my C++ program is output to a file?为什么我的 C++ 程序没有输出到文件?
【发布时间】:2015-08-01 10:44:24
【问题描述】:

我的 C++ 程序有问题。它不会输出到文件中。我尝试使用cout 更改文件输出并且程序正在运行,但我需要它在文件中输出。我验证了它是否(在文件中)输出了一条简单的消息“Hello World”,但输出文件为空。

代码如下:

#include<fstream>
#include<string.h>
using namespace std;
ifstream fi("alfabetar.in");
ofstream fo("alfabetar.out");
int n,i,j,x,maxim;
char A[101][201];
int main()
{
  fi>>n;
  for(i=0; i<n; i++)
  {
    fi>>A[i];
    x=strlen(A[i]);
    if(x>maxim)
      maxim=x;
  }
  for(i=maxim-1; i>=0; i--)
  {
    for(j=0; j<n; j++)
    {
      fo<<A[j][i];
    }
    fo<<"\n";
  }
  fi.close();
  fo.close();
  return 0;    
}

【问题讨论】:

  • 能否打开文件?为什么不测试呢!
  • 您没有初始化 maxim,您应该在 main 中打开文件并在使用前检查它们是否已打开。
  • 尝试 2 件事:1- 使用 fi.open("...");在你的主要。 2- 使用文件的绝对路径。

标签: c++ file output


【解决方案1】:

如果你想在文本文件中输出你应该修改

ifstream fi("alfabetar.in.txt");
ofstream fo("alfabetar.out.txt");

这将获取您的信息并将其放入文本文件(例如记事本) 还要确保你得到输入和输出的文件与程序在同一个目录中。如果没有像 mmahdich 所说的那样放置绝对路径。

【讨论】:

    【解决方案2】:

    我发现了问题,当我旋转矩阵时,有一些空格(0),因此程序无法运行。我还将输出从&lt;fscanf&gt; 更改为&lt;stdio.h&gt;

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-12-21
      • 2022-01-11
      • 1970-01-01
      相关资源
      最近更新 更多