티스토리 뷰

C /C++

[C] fgets()

진저 에일 2019. 6. 24. 21:43

■ 원형

char* fgets(char* str, int num, FILE* stream);

scanf와 달리 \n만을 구분자로 사용한다.

 

■ char* str

읽어들인 문자열을 저장할 char  array를 가리키는 pointer.

값을 성공적으로 읽어들인 fgets 함수는 str을 return 한다.

 

■ int num

마지막 NULL 문자를 포함하여 읽어들일 최대 문자 수. 

 

■ FILE* stream

문자열을 읽어들일 stream의 FILE 객체를 가리키는 pointer.

표준 입력(stdin)에서 입력을 받으려면 stdin을 써주면 된다.

 

■ 오류

파일 끝에 도달하였는데 아무런 문자를 읽어들이지 못했다면 str의 내용은 변하지 않고 null pointer가 return 된다.

오류가 발생해도 null pointer가 return 된다.

ferror : 어떤 오류가 발생했는가?

feof : 파일 끝에 도달했는가?


■ 사용 예 (표준 입력 (stdin) 사용)

int main()

{

    char input[101];

    fgets(input, 101, stdin);

    // 최대 100개의 문자만 입력 받는다. array의 맨 끝은 \0이 들어가기 때문.

    printf("input : %s\n", input);

}


'C /C++' 카테고리의 다른 글

[C][Stack] 백트래킹을 이용한 길찾기/미로찾기  (0) 2019.12.05
[C++] Static 멤버  (0) 2019.06.24
[C][과제] 숫자야구 ++  (0) 2018.10.28
[C/C++][과제] 숫자야구  (0) 2018.10.13
[C/C++][과제?] 오목 중간 백업  (0) 2018.08.29
댓글
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG more
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함