【问题标题】:C++ Visual Studio won't read .txt filesC++ Visual Studio 不会读取 .txt 文件
【发布时间】:2016-04-27 08:33:24
【问题描述】:

我正在尝试从 Visual Studio 的命令行参数中读取 .txt 文件的每一行。这是我一直在使用的代码:

ifstream inFile(argv[2]);     //read text file indicated by argv[2]

if (inFile.is_open() && inFile.good())
{
    string line = "";
    while (getline(inFile, line))
    {
        cout << line << '\n';
    }

}

但是,每当我编译这段代码时,我总是得到垃圾字符。有趣的是,代码工作得很好,并且当我直接从终端运行它时它应该做的事情。只有当我使用 VS 时,我才会遇到这个问题。对于为什么会发生这种情况,我将不胜感激。谢谢!

【问题讨论】:

    标签: c++ visual-studio-2010 visual-studio-2012 terminal


    【解决方案1】:

    我预计(99.9% 的可能性)当您在 Visual Studio 中运行时,您当前的工作目录会有所不同。有两个简单的选择。

    1. 将您尝试打开的文件放在 Debug/Release 文件夹中 在 Visual Studio 中(或任何运行它的地方)
    2. 将您在 argv[2] 中提供的路径更改为完整路径或相对路径 适用于 Visual Studio。

    【讨论】:

    • 仅供参考,从 Visual Studio IDE 运行时的默认工作目录是 project 文件夹(所选启动项目的 .vcproj 项目文件所在的文件夹),不是 $(OutDir) 位置。如果从 IDE 进行测试(OP 显然正在这样做),除非在项目的“调试”配置设置中进行更改,否则项目文件夹是运行时预期位于工作目录中的数据文件应驻留的位置。
    • 哦,是的,就是这个
    猜你喜欢
    • 2013-09-19
    • 1970-01-01
    • 1970-01-01
    • 2014-06-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多