0

整数のファイルを読み取って、読み取ったときにそれらを印刷しようとしています。ただし、ループの最初の繰り返しでアクセスが悪くなります。理由はありますか?

#include <stdio.h>

int main(int argc, const char * argv[])
{

    FILE *fr = fopen("testdata1.dat","r");
        int output;
        do {
            fscanf(fr, "%d", &output);

            printf("%d", output);
        }
        while(output != EOF); // check to make sure user has input
}

.dat の最初の数行は

1000 0 100 2 90 2 80 3 70 2 60 2 10 -99
1001 8 80 2 80 2 50 3 70 2 40 2 10 -99
4

3 に答える 3

2
#include <stdio.h>

int main(int argc, char *argv[]){
FILE *fr = (FILE*) fopen("test.dat","r");

// ERROR HERE: fr=fopen("test.dat","r");
int output;
if(!feof(fr)){
 do {
    fscanf(fr, "%d", &output);

    printf("%d", output);
  }
   while(!feof(fr)); // check to make sure user has input
 fclose(fr);
 return 0;
}

このコードで再試行してください。

不適切なアクセス許可、見つからないファイル以外の問題は考えられません..

于 2012-10-22T19:36:05.637 に答える
0

問題は、Xcode を使用してプログラムを開発していたことです。ファイルをプロジェクトにドラッグしても、実行可能ファイルと同じフォルダーに配置されませんでした。

于 2012-10-22T20:32:01.613 に答える