c++ - 调试时从文件中读入

标签 c++ text input ifstream

我的项目的 Debug 文件夹中有 SOME_TEXT.TXT。当我手动转到 Debug 文件夹并运行应用程序时,我得到了预期的输出,一切都很顺利。但是,当我在 Visual Studio 中调试应用程序时,txtFile.is_open() 失败并且我的输出不起作用。我查看了其他目录,但没有看到其他可执行文件。我什至尝试过随意传播 SOME_TEXT.TXT 以防我错过目录。有什么想法吗?

我有以下代码:

string path = "SOME_TEXT.TXT";
ifstream txtFile;
txtFile.open(path, ifstream::in);
char line[200];
if(txtFile.is_open())
{
    int lineNumber = 1;
    while(!txtFile.eof())
    {
        txtFile.getline(line, 200);
        Line * ln = new Line(line, path, lineNumber);
        lineNumber++;
        myList.addLine(ln);
    }
}
myList.printAll();

最佳答案

您可以在项目上下文菜单中的属性 中控制程序运行的工作目录。然后在“调试”选项卡中。

此目录默认为可执行文件的输出目录。请注意,release 和 debug 的输出目录不同。它们通常称为“调试”和“发布”。

尝试将您的文本文件放在 Debug 文件夹中。

关于c++ - 调试时从文件中读入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5534788/

相关文章:

c++ - 如何捕获或处理 free() 或 delete() 中的段错误

c - 在 C 语言中使用方向键

javascript - 聚焦时jquery返回默认输入值

c - 用C语言读取32位二进制

当我按下 CTRL+Z 时,C++ getline(cin, buffer) 不会停止

c++ - 是抽象类还是纯虚(接口(interface))?

c++ - 具有多个独立组的本地进程的 IPC 方法

javascript - JQuery/Javascript - 突出显示文本并环绕标签,而不更改 html 结构

c - 从 txt 文件 C 中读取和比较数字

c++ - 如何从 CVPixelBufferRef 转换为 openCV cv::Mat