更新
为了确保addrr.txt
在应用程序运行时可以找到该文件,您需要
- 指定文件的绝对路径,即
D:\addrr.txt
,或
- 指定当前工作目录 (CWD) 的相对路径,这显然是
C:\Program Files\Mozilla FireFox
。(如果文件位于另一个分区上,这是不切实际的。)
CWD 通常是运行应用程序的目录。如果您在其中运行您的应用程序,D:
它应该可以工作。(您的应用程序可能会在运行时更改 CWD(例如,通过使用chdir()
、 或SetCurrentDirectory()
)。但是,通常指定文件的绝对路径或将文件放置在 CWD 的正确相对位置更合适。)
这对我来说编译并运行良好:
#include <fstream>
#include <iostream>
#include <string>
using namespace std;
int main() {
ifstream file;
file.open("addrr.txt", fstream::in | fstream::out);
if (file.is_open())
{
while (file.good())
{
string Path;
cout << "Addrr.txt IsGood" <<endl;
getline(file, Path);
cout << Path << endl;
}
file.close();
}
}
// output similar to:
/*
Addrr.txt IsGood
addrr.txt
Addrr.txt IsGood
addrr.txt
Addrr.txt IsGood
addrr.txt
Addrr.txt IsGood
Addrr.txt IsGood
*/
// file: addrr.txt
/*
addrr.txt
addrr.txt
addrr.txt
*/
您的文件名是否正确(即区分大小写)?您是否从可执行文件所在的路径运行应用程序(文件位于当前工作目录中)?