【问题标题】:open file by its full path按完整路径打开文件
【发布时间】:2013-06-18 12:17:46
【问题描述】:

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

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

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

【问题讨论】:

    标签: c++ file


    【解决方案1】:

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

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

    ifstream file(address.c_str());
    

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

    getline(cin, address);
    

    【讨论】:

      【解决方案2】:
      ofstream myfile;
      myfile.open (adresse.c_str());
      

      【讨论】:

        【解决方案3】:

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

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

        【讨论】:

        • 您不能在 std::string 上使用 std::cin::getline
        • 是的,我会再次删除它!
        猜你喜欢
        • 2010-10-24
        • 1970-01-01
        • 2014-05-18
        • 1970-01-01
        • 2012-04-19
        • 2022-12-04
        • 2015-05-29
        • 2015-02-17
        • 2017-02-04
        相关资源
        最近更新 更多