VS2008,VS2015无法读取文件:怪异的行为

vs2008,vs2015 cannot read files: weird behaviour

本文关键字:文件 VS2015 读取 VS2008      更新时间:2023-10-16

当我尝试使用ifstream读取文件时,我在Windows 10 Enviroment中的行为非常奇怪。

我正在使用以下简单代码:

#include "stdafx.h"
#include <fstream>
#include <iostream>
#include <string>
int main()
{
    std::ifstream ifs("C:\Users\dd\Desktop\test.txt");
    if(ifs.is_open())
    {
        std::string line;
        while(std::getline(ifs,line))
        {
            std::cout << line << "n";
        }
    }
    else
    {
        std::cout << std::strerror(errno) << "n";
    }
    return 0;
}

显然文件存在。

当我尝试读取文件.txt时,我会得到:

权限拒绝

我以管理员的身份运行Visual Studio,我有权阅读该文件,因为我能够使用Notepad 进行打开。

如果更改文件扩展名,例如.test,我可以正确读取文件内容,并且一切正常。

我卸载,然后重新安装VS2008,VS2015和所有C 重新分布,但没有任何变化。任何帮助都非常感谢!

也许您的文件未命名test.txt。您是否检查了您的文件真的名为test.txt而不是test.txt.txt(带有隐藏的扩展名(?

尝试在命令提示中列出文件,以查看实际文件名是什么:CMD>

  cd C:UsersddDesktop
  dir | findstr test

hothother可能性:

  • test.txt可能会使用另一个外观的字母语言(在您的代码或实际文件名中(。

  • 在您的代码中未正确引用斜线(例如C:Users\而不是C:\Users\dd\(。尝试更改为正向斜线。