【发布时间】:2012-07-06 08:21:17
【问题描述】:
尝试执行此操作时出现错误:
path p = "somepath";
FILE* file = fopen(p.c_str(), "r");
我明白了:
“const boost::filesystem::path::value_type *”类型的参数与“const char *”类型的参数不兼容
谁能告诉我我做错了什么?谢谢
【问题讨论】:
-
这是什么系统? Linux?视窗?它可能会失败,因为 Windows 中的
value_type是wchar_t。 -
好的,然后尝试
p.string().c_str()而不是p.c_str()。前者意味着转换以获得正确的类型。 -
p.string().c_str() 有效!谢谢。
-
好的,我在下面添加了回复。如果你愿意,你可以接受。
标签: c++ windows fopen std boost-filesystem