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;的权限目录是:
输出始终为&#34;无法打开&#34;。 原帖的解决方案(此帖被标记为副本)不能解决我的问题。
解决方案,因为下面的回复都没有完全解决我的问题
使用ofstream与相对路径(相对于。的位置) 程序可执行即即。的argv [0])。 fstream似乎没有用 同样的方式。
答案 0 :(得分:0)
fstream&open?()是否采用相对或绝对文件路径?
是强>
如果是亲戚,那么它与调用环境的 current working directory 相关。
请注意,这可能不是源代码在磁盘上的位置。