0

コードは次のとおりです。

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が、存在します:

ここに画像の説明を入力

4

3 に答える 3

3

あなたが示したコードは、実際にはfopen失敗したことを証明していません。成功した可能性があり、errno以前に発生したエラーが残っているだけです。それがnullerrnoであることがわかった後にのみ見る必要があります。json

于 2013-07-28T19:00:56.470 に答える
1

代わりに C++ のクラスを使用して解決しました。

ifstream myfile;
myfile.open("D:\\platformer\\resources\\maps\\test.json");
if (myfile.is_open())
{
    // parsing. now it works.
}
于 2013-07-28T20:21:13.243 に答える
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); 
 }
于 2013-07-28T19:09:33.973 に答える