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。我该如何解决这个问题?'subd'目录的权限为:
![enter image description here](https://istack.dev59.com/EGh2l.webp)
解决方案,因为以下回答都不能完全解决我的问题
使用ofstream与相对路径(相对于程序可执行文件的位置,即argv[0])。fstream似乎无法正常工作。