以完整路径打开文件

时间:2013-06-18 12:17:46

标签: c++ file

我想问用户文件存在的完整路径,然后将路径保存在数组中。所以在程序中我想打开那个地方存在的文件。 但不幸的是我不知道如何打开文件。 我尝试了以下代码,但事实并非如此。

    string address;
    cin>>address;
    ifstream file(address);

如何以这种方式打开文件?

3 个答案:

答案 0 :(得分:2)

实际上代码工作原理 - 至少在当前版本C ++ 11中。

在此之前,您需要将字符串转换为C风格的字符串:

ifstream file(address.c_str());

虽然你应该注意文件路径中的空格,就像CapelliC在他(现已删除)的答案中提到的那样;为了确保用户可以输入带空格的路径(例如“~/some file.txt”),请使用std::getline而不是流操作符:

getline(cin, address);

答案 1 :(得分:1)

ofstream myfile;
myfile.open (adresse.c_str());

答案 2 :(得分:0)

可能问题可能是address中存在空格。

尝试使用getline(cin,address)代替(感谢Konrad发现问题,我的C ++有点生锈......)