Mar*_*tin 11 c++ windows fopen std boost-filesystem
我尝试这样做时出错:
path p = "somepath";
FILE* file = fopen(p.c_str(), "r");
Run Code Online (Sandbox Code Playgroud)
我明白了:
"const boost :: filesystem :: path :: value_type*"类型的参数与"const char*"类型的参数不兼容
谁能告诉我我做错了什么?谢谢
Die*_*lla 13
如果你在Windows下,那value_type就是wchar_t,并且转换失败fopen(需要a char*).根据文档,您似乎必须使用该string()方法来获取具有默认代码转换器(wchar_t- > char)的标准字符串:
FILE* file = fopen(p.string().c_str(), "r");
Run Code Online (Sandbox Code Playgroud)