3

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

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

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

4

3 回答 3

2

实际上,该代码按原样运行——至少在当前版本 C++11 中是这样。

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

ifstream file(address.c_str());

尽管您应该注意文件路径中的空格,正如 CapelliC 在他的(现已删除的)答案中提到的那样;为了确保用户可以输入带空格的路径(例如“<code>~/some file.txt”),请使用std::getline流运算符代替:

getline(cin, address);
于 2013-06-18T12:20:08.203 回答
1
ofstream myfile;
myfile.open (adresse.c_str());
于 2013-06-18T12:22:11.053 回答
0

问题可能是address.

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

于 2013-06-18T12:20:51.580 回答