좀 바이트 OFSET되는 파일에 문자를 얻을 수있는 C 프로그램을 작성하는 것을 시도하고있다, 나는 특정 바이트가 나타내는 문자를 인쇄 할 세 가지 C 프로그램을 사용하여 현재 위치에서 캐릭터를 얻는 방법은 무엇입니까?
fseek(fp,3,SEEK_CUR);
다음과 같이 말할 수 있습니다. 예를 들어, 내 파일에 다음과 같은 내용이 포함되어 있으면 세 번째 문자를 모두 인쇄해야합니다.
//reading from file//
문제는 while
루프를 사용 후 내가 원하는 결과를 인쇄 할 수 아니다는 것이다. 인쇄되는 첫 번째 문자는 세 번째 문자가 아닌 네 번째 문자입니다.
while(fp!=EOF)
{
fseek(fp,3,SEEK_CUR);
ch = fgetc (fp);
printf("%c",ch);
}
이 부분의 실수를 이해할 수 있습니까? 감사!
'fp! = EOF'는 실수입니다. – cnicutar
'fp! = EOF'는 컴파일러에 경고를 주어야합니다 (포인터와 int를 비교할 수는 없습니다). 컴파일러 경고에주의를 기울여 오류로 처리하십시오. – pmg
@pmg 귀하의 조언에 감사드립니다. 나는 아직 배우기 단계에 있으며 앞으로 돌볼 것입니다. – Shash