我希望用户给我文件存在的完整路径,而不仅仅是文件名.如何以这种方式打开文件?
它是这样的:
ifstream file;
file.open("C:/Demo.txt", ios::in);
Run Code Online (Sandbox Code Playgroud)
这似乎不起作用.
Gre*_*ill 18
通常,在Windows中使用反斜杠字符作为路径分隔符.所以:
ifstream file;
file.open("C:\\Demo.txt", ios::in);
Run Code Online (Sandbox Code Playgroud)
请记住,使用C++源代码编写时,必须使用双反斜杠,因为反斜杠字符本身意味着双引号字符串中的特殊内容.所以上面指的是文件C:\Demo.txt
.
小智 11
您可以使用fstream类的完整路径.下面的代码尝试在C:驱动器的根目录中打开文件demo.txt.请注意,由于这是输入操作,因此该文件必须已存在.
#include <fstream>
#include <iostream>
using namespace std;
int main() {
ifstream ifs( "c:/demo.txt" ); // note no mode needed
if ( ! ifs.is_open() ) {
cout <<" Failed to open" << endl;
}
else {
cout <<"Opened OK" << endl;
}
}
Run Code Online (Sandbox Code Playgroud)
这段代码在您的系统上产生了什么?