【问题标题】:C++ read from fileC++ 从文件中读取
【发布时间】:2013-04-28 02:28:10
【问题描述】:

当我尝试调试此代码以从文件中读取并显示它时,控制台屏幕来来往往很快,我不明白它为什么会这样做。谁能帮帮我?

#include "Questions.h"
#include <iostream>
using namespace std;

const int MAXITEMS = 10;

struct quiz
{
    string question;
    string anser;
};


int main ()
{
  string str;
  ifstream ifs("Questions2.txt.txt");
  getline (ifs,str);
  cout << "first line of the file is " << str << ".\n";
  return 1;
}

【问题讨论】:

  • 你是不是在main的最后一行放了断点?
  • 因为计算机速度很快,如果你不要求它们停止,它们就不会停止!

标签: c++ visual-c++ file-handling


【解决方案1】:

你应该在VS窗口中单击一些断点。然后当你按下F5时,它会在断点处暂停,然后它会继续运行,直到你再次按下F5。 或者,如果你确定你的代码是正确的。你可以按 Ctrl+F5。这意味着“运行而不调试”。 这种情况下,您的程序将运行结束并建议您“按任意键继续”。 对不起,我的英语不好。希望你能理解。

【讨论】:

  • +1 表示 Ctrl+F5。如果他不想调试,那将解决消失的命令行窗口。
【解决方案2】:

尝试使用 ifs.open,然后使用带有 if 和错误代码的 ifs.is_open () 函数向自己保证,我总是使用它,它值得

当然,在返回之前使用断点(点击它或使用system ("pause")

【讨论】:

    【解决方案3】:

    您可以尝试添加暂停功能。这样它将显示您的数据,然后等待响应。我已经包含了我通常使用的功能。

    void myPause()
    {
          cout << "    Press enter to continue... ";
          char blank[8];
          cin.getline(blank,8);
          cin.sync();
    }
    

    【讨论】:

      【解决方案4】:

      除非您使用一些断点运行,否则 Visual Studio 将在程序终止后关闭窗口。

      如果希望窗口停留在屏幕上,请使用 Debug->Start without debugging

      或者,在return 1处添加断点;

      【讨论】:

        【解决方案5】:

        F10 而不是 F5。通过按F10,可以逐行查看

        【讨论】:

          猜你喜欢
          • 2014-04-02
          • 2012-05-15
          • 2016-06-18
          • 2016-08-02
          • 2020-11-28
          • 2011-01-07
          • 1970-01-01
          相关资源
          最近更新 更多