【发布时间】:2025-11-24 07:50:01
【问题描述】:
我知道有很多关于这个主题的问题,但我无法解决这个问题。该程序在我的笔记本电脑上运行良好,但是当我尝试在学校 Linux 实验室编译和运行它时,程序无法打开文件。我尝试定义绝对文件位置,但没有任何效果。文件名是正确的,但当我尝试运行程序时,它显示“失败”。我正在使用 gedit 并使用 bash 编译程序。
ifstream fin("rainfall.dat"); // If the file cannot open display failed
if(fin.fail()){
cout << "failed" << endl;
return 1;
}
【问题讨论】:
-
你有权限读取文件吗?
-
如果这是唯一的问题(嗯 - 到目前为止,但这是您的问题所在),那么就没有必要包括所有其他的东西。除非它不使用 并且with 无法使用。你测试过吗?见How to Create a Minimal, Complete, Verifiable Example。
-
是的,我愿意。读和写。
-
是的,很抱歉,它在 Windows 上一切正常。我把它包括在内是因为我真的不知道是什么让它不起作用。
-
制作一个非常愚蠢的简单程序:
int main(){ifstream fin("rainfall.dat"); if(fin.fail()){ cout << "failed" << endl; return 1; } }看看会发生什么。