728x90
반응형
fgets
함수 원형
#include <stdio.h> // C++ 의 경우 <cstdio>
char* fgets(char* str, int num, FILE* stream);
특징
1. 개행(=newline)(='\n') 혹은 파일끝(=EOF)을 만날 때 까지, 해당 stream의 buffer에서 문자열을 읽어들인다.
(개행(=newline)(='\n') 혹은 파일끝(=EOF)을 만나면, 입력이 종료된다.)
2. 문자열을 읽어들인 후, 문자열 끝에 NULL(='\0')값이 자동으로 추가된다.
3. fgets는 gets와 달리, 개행(=newline)(='\n')이 포함된채 저장된다.
반환값
[성공적으로 읽어 들였을 경우.]
str을 반환한다. 즉, 반환값은 인자로 전달받은 메모리의 주소이다.
[파일 끝에서 아무런 문자를 읽어 들이지 않았을 경우. & 오류가 발생했을 경우.]
NULL(='\0') 포인터를 반환한다. (str의 내용은 변하지 않는다.)
fgets를 통해서 데이터 입력을 받는 경우, 뒤에 개행문자를 제거하는 방법
#include <stdio.h> //fgets()
#include <string.h> //strlen()
fgets(str, strlen(str), stdin);
if(str[strlen(str) - 1] == '\n')
str[strlen(str) - 1] = '\0';
728x90
반응형
'⌨️CS-STUDY > C' 카테고리의 다른 글
[C][Macro] min max (0) | 2023.02.21 |
---|---|
[C][header][stdio.h] printf (0) | 2023.01.31 |
[C][header][stdio.h] scanf (0) | 2023.01.29 |
[C][header][limits.h] (0) | 2023.01.23 |