다음 C 프로그램이 있습니다.ftell() 및 fseek() 함수 사용에 문제가 있습니다
#include <stdio.h>
int main()
{
FILE *fp;
long n;
char c;
fp=fopen("RANDOM","W");
while((c=getchar()) != EOF)
{
putc(c,fp);
}
printf("No. of character entered = %1d\n",ftell(fp));
fclose(fp);
n=0L;
while(feof(fp) == 0)
{
fseek(fp, n, 0);
printf("Position of %c is %1d\n", getc(fp), ftell(fp));
n=n+5L;
}
printf("\n");
fseek(fp,-1L,2);
do
{
putchar(getc(fp));
}
while(!fseek(fp,-2L,1));
fclose(fp);
return 0;
}
이 코드에는 오류가 표시되지 않습니다. 하지만 코드를 입력 할 때 ABCD ... Z이 표시되면 세그먼트 오류가 발생합니다. 코어가 덤프됩니다. 어디서 문제가 있습니까 ??
@BLUEPIXY 두 점 모두에 동의하십시오. printf()에 대한 args의 순서를 잘 잡아라. – chux