텍스트 파일을 내 C 프로그램으로 리디렉션하고 있습니다.입력 리디렉션 및 되감기
./test.c < earthquakes.txt
와 나는 내가 그렇게 같은 scanf와 함께 필요한 데이터를 읽어
while (scanf("%4d-%2d-%2d%c%2d:%2d:%2d+%2d:%2d,%f,%f,%f,%f",
&yyyy, &mm, &dd, &junkc, &hh, &min, &sec, &junki, &junki,
&latit, &longi, &depth, &magnitude) == 13) {
printf("test\n");
num_earthquakes++;
}
내가 필요한 모든 라인을 읽을 때까지. 그렇게 한 후, 나는 어떻게 표준 입력의 처음으로 되감니까?
일반적으로 * stdin *을 되 감을 수 없습니다. ''의 [rewind() 함수] (http://en.wikibooks.org/wiki/C_Programming/C_Reference/stdio.h/rewind)를 사용하고 싶지만 항상'stdin '; 일부 시스템에서는 작동하지만 대부분의 시스템에서는 실패합니다. 더 나은 실패를보고하기 때문에'fseek'를 사용하는 것을 선호 할 수 있습니다. 명령 프롬프트에서 –
대신'<'을 리디렉션하십시오. 필자는 사용자 fscanf()를 사용하여 파일에서 읽을 것을 제안합니다. 'rewind()'와'fseek()'는 파일 포인터를 시작으로 이동시키는 데 사용할 수있는 두 개의 함수입니다. –
좋아, 내가 옳은 것을 찾고있는 것을 100 % 할 수있는 방법이 없다. 그냥 확인해. 이것은 할당이고 우리는 * 입력 리디렉션을 사용하고 파일 포인터는 사용하지 않습니다. 아마도 한 번 읽는 것만으로도 할 수있을 것입니다. – nebffa