반응형
fgets(str, sizeof(str), stdin);

다음과 같은 방식으로 사용한다. str은 일반적인 char식 배열(char str[10]) 을 사용한다.

 

이방식을 활용하면, scanf로 값을 받아오는거와 매우 비슷한 방식으로 입력을 받을 수 있다.

stdin대신 file의 포인터 변수를 넣으면 파일의 문자열을 입력받을 수 있다.

 

중요한점:

1. 오직 개행과, 문자 개수가 sizeof(str)-1일때, 그리고 EOF을 만났을때만 멈춘다.

 

2. 일반적으로 string버퍼를 가리키는 포인터를 반환하지만, EOF을 만났을 경우에만 NULL을 반환한다.

이를 이용하여 loop에 fgets를 넣어두면, 파일이나 stdin의 입력값이 끝날때까지 입력받을 수 있다.

 

3. 끝에 널 문자를 부착한다. 따라서 fgets로 받은 str에는 마지막에 \n(개행문자)와 \0(널 문자)가 나오게 된다. 

 

 

 

 

반응형

'프로그래밍 구조' 카테고리의 다른 글

메모리 영역 (Rodata, bss등)  (0) 2021.11.28
2차원 배열과 pointer  (0) 2021.11.05
C언어 전처리기  (0) 2021.10.08
리눅스 명령어 정리(주요)  (0) 2021.09.22
C언어 전역,지역변수 static, extern, auto 정리  (0) 2021.09.12

+ Recent posts