Прошло очень много времени с тех пор, как я написал код на C, и я потратил около двух часов на поиски правильного использования fscanf. Насколько я могу судить, этот код правильный, но я получаю EXC_BAD_ACCESS каждый раз, когда запускаю его:
int rasterWidth;
int rasterHeight;
FILE* f = fopen("scene.u2d","r");
if (f == NULL)
{
perror("Can't open file!");
}
char m [2];
fscanf(f, "%s", m);
fscanf(f, "%d %d",&rasterWidth,&rasterHeight); // Getting EXC_BAD_ACCESS here
printf("%s %d %d",m,rasterWidth,rasterHeight);
Я убедился, что XCode открывает нужный файл (он правильно загружает первые два символа). scene.u2d выглядит так:
U2
500 500
-1.0 -1.0 1.0 1.0
g triangle.raw
c 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1
s 0.5 1.0
t 0.3 -0.2
Есть ли что-то очевидное, что я делаю не так? Спасибо!