コードは次のとおりです。
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
が、存在します:
コードは次のとおりです。
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
が、存在します:
あなたが示したコードは、実際にはfopen
失敗したことを証明していません。成功した可能性があり、errno
以前に発生したエラーが残っているだけです。それがnullerrno
であることがわかった後にのみ見る必要があります。json
代わりに C++ のクラスを使用して解決しました。
ifstream myfile;
myfile.open("D:\\platformer\\resources\\maps\\test.json");
if (myfile.is_open())
{
// parsing. now it works.
}
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);
}