gpt4 book ai didi

c++ - vs2008,vs2015无法读取文件: weird behaviour

转载 作者:行者123 更新时间:2023-11-28 05:09:52 27 4
gpt4 key购买 nike

当我尝试使用 ifstream 读取文件时,我在同时使用 VS2008 和 VS2015 的 Windows 10 环境中遇到了一个非常奇怪的行为。

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

#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 时,我得到:

Permission denied

我以管理员身份运行 Visual Studio,我有权读取该文件,因为我可以使用 Notepad++ 打开它。

如果我更改文件扩展名,例如 .test,我能够正确读取文件内容并且一切都按预期工作。

我卸载并重新安装了 VS2008、VS2015 和所有 C++ Redistributable,但没有任何改变。非常感谢任何帮助!

最佳答案

也许您的文件没有命名为 test.txt。您是否检查过您的文件确实名为 test.txt 而不是 test.txt.txt(带有隐藏的扩展名)?

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

  cd C:\Users\dd\Desktop\
dir | findstr test

其他可能性:

  • test.txt 可能会使用另一个看起来相似的字母语言(在您的代码或实际文件名中)。

  • 您的代码中没有正确引用斜杠(例如 C:\Users\\ 而不是 C:\\Users\\dd\\)。尝试更改为正斜杠。

关于c++ - vs2008,vs2015无法读取文件: weird behaviour,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43743020/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com