C 언어 에서 fgets 와 fscanf 의 차이 에 대한 상세 한 설명

2215 단어 fgetsfscanf
C 언어 에서 fgets 와 fscanf 의 차이 에 대한 상세 한 설명
1.작용 상의 대략적인 차이 점:

①fgets:               (fgets        ,                   ,            \0,         )

②fscanf:               (fscanf          ,           \0,          )

2.예 를 들 어 a.txt 파일 의 내용 을 b.txt 로 복사 합 니 다.
a.txt 의 내용(첫 줄 에'사랑 해 샤 오 백'과'농담'사이 에 빈 칸 이 있 고 모든 줄 의 마지막 에 차 가 돌아 갑 니 다):

         
  
   
1.fgets 를 사용 하여 a.txt 파일 을 읽 고 b.txt 에 기록 하 는 프로그램 세 션:

FILE *f1 = fopen("a.txt", "r");//      a.txt,       
FILE *f2 = fopen("b.txt", "w");//       b.txt,        
if (f1 == NULL)//       ,    
{
  return 0;
}
char buf[1024] = { 0 };//   
while (!feof(f1))
{
  memset(buf, 0, sizeof(buf));//     
  fgets(buf, sizeof(buf), f1);//               (fgets        ,                   ,            \0,         )
  fputs(buf, f2);
}

fclose(f1);//        
fclose(f2);//        

실행 결과:

2.fscanf 를 사용 하여 a.txt 파일 을 읽 고 b.txt 에 기록 하 는 프로그램 세 션:

FILE *f1 = fopen("a.txt", "r");//      a.txt
FILE *f2 = fopen("b.txt", "w");//       b.txt,        
if (f1 == NULL)//       ,    
{
  return 0;
}
char buf[1024] = { 0 };//   
while (!feof(f1))
{
  memset(buf, 0, sizeof(buf));//     
  fscanf(f1, "%s", buf);//               (fscanf          ,           \0,          )
  fputs(buf, f2);
}

fclose(f1);//        
fclose(f2);//        

실행 결과:

결론

1、fgets  “  ”             ,  “  ”       ,      (char *buf[])       "\0"          。

2、fscanf    “  ”  “  ”,   '\0'       (char *buf[]),       。
궁금 한 점 이 있 으 시 면 메 시 지 를 남기 거나 본 사이트 의 커 뮤 니 티 에 가서 토론 을 교류 하 세 요.읽 어 주 셔 서 감사합니다. 도움 이 되 셨 으 면 좋 겠 습 니 다.본 사이트 에 대한 지지 에 감 사 드 립 니 다!

좋은 웹페이지 즐겨찾기