본문 바로가기
C/C Library

fgets

by memora 2024. 8. 13.

Index로 돌아가기

 

 

【기  능】 파일에서 한줄의 문자열을 읽어낸다.
 
 【소  속】 stdio.h 
   #include <stdio.h>
 
 【서  식】  
   char *fgets(char *pstrBuff, int iLen, FILE *fp);
 
 【설  명】  
   fp가 가리키는 파일에서 iLen길이의 문자열을 읽어내서 pstrBuff에 넣어준다.
   iLen는 읽어내는 최대 사이즈이며, 도중에 줄바꿈 코드가 있으면 읽기가 중단된다.
   iLen에는 '\0'가 포함되므로 실제로는 iSize - 1이 된다.
   대상 파일은 읽기모드로 오픈해야 한다.
 
 【인  수】
   char *pstrBuff : 문자열 보존용 버퍼
   int iLen : 읽어내기 최대 사이즈(한줄)
   FILE *fp : file pointer. fopen함수로 오픈한 파일정보를 가지고 있는 핸들러 
 
 【리턴 값】
  읽기 성공시 : 읽어낸 문자
  읽기 실패시 또는 파일종료시 : NULL
 
 【사용 예】
 #include <stdio.h>
 #include <stdlib.h>

 int main(void)
 {
     FILE *fp;
    char strBuff[100];
    char *cRetn;
    int  iRetn;
 
    /* 읽기 모드로 파일을 오픈한다 */
    if( (fp = fopen("test_data.txt", "r") ) == NULL ) {
        printf("파일 오픈 에러\n");
        exit(EXIT_FAILURE);
    }
    else{
        printf("파일 오픈 성공\n");
    }

    /* 오픈한 파일에서 문자열을 읽어서 화면에 출력한다 */
    cRetn = fgets(strBuff, sizeof(strBuff), fp);
    printf("%s", strBuff);
    cRetn = fgets(strBuff, sizeof(strBuff), fp);
    printf("%s", cRetn);

    /* 오픈한 파일을 닫는다(close) */
    iRetn = fclose(fp);
    if(iRetn != 0){
        printf("파일 클로즈 에러\n");
    }
    else{
        printf("파일 클로즈 성공\n");
    }

    return 0;
  }

  【test_data.txt】
VWXYZ
12345

  【결   과】
파일 오픈 성공
VWXYZ
12345
파일 클로즈 성공

Index로 돌아가기

반응형

'C > C Library' 카테고리의 다른 글

fgetpos  (0) 2024.08.15
fputs  (0) 2024.08.14
fputc  (0) 2024.08.07
fgetc  (0) 2024.08.06
ferror  (0) 2024.08.03