fstream中的相对路径open()Mac OS X不起作用

时间:2016-03-15 10:03:18

标签: c++ macos file fstream ofstream

fstream&open?()是否采用相对或绝对文件路径?这是示例代码 -

#include <iostream>
#include <fstream>
#include <string>

using namespace std;


int main() {
    fstream myfile;

    myfile.open("subd/example.txt");
    if(myfile.is_open()) {
            for(int i = 0; i < 10; i++) {
                    myfile << "Example data " << i << endl;
            }
    } else cout << "Unable to open " << endl;
    myfile.close();
    return 0;
}

我在MAC OS X环境中工作。子目录已存在。 .open()为每种情况返回false。我也在使用-std = c ++ 11。我该如何解决这个问题? &#39; sub&#39;的权限目录是:

enter image description here

输出始终为&#34;无法打开&#34;。 原帖的解决方案(此帖被标记为副本)不能解决我的问题。

  

解决方案,因为下面的回复都没有完全解决我的问题

     

使用ofstream与相对路径(相对于。的位置)   程序可执行即即。的argv [0])。 fstream似乎没有用   同样的方式。

1 个答案:

答案 0 :(得分:0)

  

fstream&open?()是否采用相对或绝对文件路径?

如果是亲戚,那么它与调用环境的 current working directory 相关。

请注意,这可能不是源代码在磁盘上的位置。