문제

I get error when I try to do this:

path p = "somepath";
FILE* file = fopen(p.c_str(), "r");

I get:

argument of type "const boost::filesystem::path::value_type *" is incompatible with parameter of type "const char *"

Could anyone tell me what I'm doing wrong? Thanks

도움이 되었습니까?

해결책

If you're under Windows, that value_type is wchar_t, and will fail in the conversion for fopen (that needs a char*). As per the documentation, it seems you have to use the string() method to obtain a standard string with a default code conversor (wchar_t -> char):

FILE* file = fopen(p.string().c_str(), "r");
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top