以下是代码:
FILE* json = fopen("D:\\platformer\\resources\\maps\\test.json", "r");
if (json == 0)
{
// No such file or directory
String aa = strerror(errno);
}
它始终返回No such file or directory
,但它存在:
答案 0 :(得分:3)
您展示的代码实际上并未证明fopen
失败了。它本来可以成功,errno
只是从早先发生的事情中得到了剩余的错误。在您发现errno
为空后,您应该只看json
。
答案 1 :(得分:1)
json
对于成功打开
if (json == NULL) // or 0
printf ("Error opening file: %s\n",strerror(errno));
所以,
//clean errno
errno = 0;
FILE* json = fopen("D:\\platformer\\resources\\maps\\test.json", "r");
if (json == 0) <-- Fix
{
String aa = strerror(errno);
}
答案 2 :(得分:1)
通过使用C ++的类来解决它。
ifstream myfile;
myfile.open("D:\\platformer\\resources\\maps\\test.json");
if (myfile.is_open())
{
// parsing. now it works.
}