无法使用 ifstream 打开文件 (C++17)

Failing to open file using ifstream (C++17)

提问人:Saarang Suryavanshi 提问时间:11/5/2023 最后编辑:ChrisSaarang Suryavanshi 更新时间:11/5/2023 访问量:58

问:

我一直在试图弄清楚为什么这个文件打不开,但我无法弄清楚。我已经正确设置了 Xcode 重定向,将所有文件添加到目录中,并尝试了许多方法来找出它可能不起作用的原因。关于如何调试它的任何建议?在 CLion 中调试 目录的屏幕截图

在 Xcode 中调试 目录的屏幕截图

void readFile(const string& filename){
    string tsIn;
    string idIn;
    string pinIn;
    string balanceIn;

    std::system("ls");
    std::cout << "Current path is " << fs::current_path() << '\n'; // (1)
    fs::current_path(fs::temp_directory_path()); // (3)
    std::cout << "Current path is " << fs::current_path() << '\n';

    ifstream infile(filename);
    if(!infile.is_open()){
        cerr << "Error opening file: " << filename << endl;
        exit(1);
    }
}

我已经包括了 #include 库。我尝试使用 fstream 而不是 ifstream,我尝试将其从 const 字符串更改为字符串,我尝试按值而不是引用传递字符串参数,我尝试将文件添加到 cmake-build-debug 文件夹,到目前为止没有任何效果。我是使用 CLion 的新手,所以我也尝试用 Xcode 打开它。我不知道我做错了什么。任何帮助将不胜感激。

C++ fstream ifstream io-重定向

评论

0赞 Yksisarvinen 11/5/2023
你真的把你的文件存储在临时目录中吗?这不是最好的主意,你永远不知道它什么时候会被删除。
5赞 jabaa 11/5/2023
您正在创建一个空的临时文件夹。然后,您将切换到空的临时文件夹。最后,您正在尝试打开并读取此空临时文件夹中的文件。为什么你期望里面有任何文件?
0赞 Marek R 11/5/2023
用于获得良好的人类可读错误描述。std::perror(filename.c_str())

答: 暂无答案