C/C

gets() - 문자열 입력

HicKee 2022. 10. 5. 23:35

gets()는 Visual Studio 버전에 따라서 지원하지 않을수 있다. 

지원한다면 표준 입출력 함수 이므로 stdio.h 헤더파일의 선언이 필요하다


표준입력에서 문자열을 입력받아 사용자가 전달한 메모리에 저장하는 함수

 

>> 표준입력으로 들어온 문자열을 개행한 부분 앞까지 char* 타입의 문자열로 저장해주고, 

     자동으로 문자열 맨 끝에 '\0'을 넣어서 문자열을 완성

 

gets() 가  "문자열" 을 감지하는 기준은 개행(\n)


입력된 문자열을 char* , char[]로 저장해줌
Enter키를 누르기 전까지 공백을 포함한 모든 문자열을 입력 받음

 

gets(입력 받는 값의 주소);

 

#include <stdio.h>
int main(){

char str[100];
gets(str);            // char*, char[]
printf("%s", str);  

}

만약에 gets()사용시 오류가 발생한다면 gets_s() 사용 

 

gets_s(입력 받는 값의 주소, 입력 받을 크기);

 

gets_s(str,sizeof(char)*40);

 

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

구조체 1  (0) 2022.10.07
배열 2 - 출력  (0) 2022.10.06
sizeof 연산자 O 함수 X  (0) 2022.10.04
scanf() 표준 입력 함수  (0) 2022.10.04
배열 1 - 배열의 선언과 접근 , 초기화  (0) 2022.10.04