2014-02-23 1 views
1
while(1) 
{ 
    ch=fgetc(ft); 
    if(ch==EOF) 
    { 
     break; 
    } 
    if(ch=='u') 
    { 
     fputc('b',ft); 
     fflush(ft); 
    } 
} 

u 다음 문자를 b으로 바꾸고, 파일 이름이 *ft 인 것으로 바꾸려고했습니다.fflush (FILE * stream)이 작동하지 않습니까?

이 코드는 정상적으로 실행되지만 파일을 열 때 수정되지 않은 것으로 보입니다.

위의 코드는 fseeks(ft,0,SEEK_CUR)에서 정상적으로 작동합니다.

fflush(ft)과 함께 작동하지 않습니다.

+0

왜 작동 할 것으로 예상됩니까? –

+1

BTW 급우가 이미 똑같은 질문을 제출했습니다 ... –

+0

@R .. : 문제가 있습니다 ... fgetc()와 fputc() 사이에 있습니다. –

답변

1

fflush는 출력 스트림 만 플러시합니다. 따라서 을 위에 올려야합니다. fputs(ft)