티스토리 뷰
■ 원형
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 |
댓글