16 char* input = (char*) argv[1]; 17 FILE *fp = fopen (input, "r"); 18 if( fp == NULL) 19 { 20 printf(" reading input file failed"); 21 return 0; 22 } 23 fseek(fp,0,SEEK_END); 24 int file_size = ftell(fp); 29 rewind(fp); 30 int i; 31 int totalRun; 32 char * temp; 33 char* model; 34 char* example; 36 fscanf(fp,"%d",&totalRun); 37 fscanf(fp,"%s",model);
上記は私のコードで、37行目でこのエラーが発生します "fscanf(fp,"%s".model)"
プログラムは信号 EXC_BAD_ACCESS を受信しました。メモリにアクセスできませんでした。理由: __svfscanf_l () のアドレス: 0x00007fff5fc00730 0x00007fff8db20bcb で KERN_PROTECTION_FAILURE
何が原因でしょうか?? gdb で *fp を調べました。totalRun _offset = 0 を読み取る前と _offset = 4096 を読み取った後。 totalRun の内容は正しかった ("3")。1 行しか読んでいないのに、なぜオフセットが 4096 なのですか? また、FILEで参照されている_blksizeとは何ですか。
ありがとうございました