[C언어/C++] 문자열 입출력 gets, puts함수 사용법 & 예제

문자열을 입력받을 때 gets, puts 함수는 문자열 입출력 함수입니다. gets는 문자열을 입력받고 puts는 문자열을 출력할 때 쓰이는 함수입니다. 특히 gets나 puts를 사용하면 Enter단위로 문자열을 입력받기때문에 한줄씩 입력받을 수 있습니다. 

 

gets 함수 사용법 

gets(str);

str : 입력받을 문자형 배열

 

gets는 문자열을 입력을 받는 함수입니다. 문자열만 입력받을 수 있고, 개행을 기준으로 입력받습니다. 작동방식은 사용자로부터 문자열을 입력받아 함수의 인자로 명시한 주소의 메모리에 저장한 뒤 입출력 버퍼가 비어있는지 확인하고 비어있다면 문자 혹은 문자열을 입력받아 입출력 버퍼에 저장합니다.

 

※ 최근에는 gets대신에 gets_s를 사용하라고 권장하는 추세입니다. gets는 버퍼 오버플로우의 가능성이 크기에 그것을 방지하기 위해 조금 더 안전한 gets_s라는 함수를 새로 만들어서 제공하였다고 합니다. '

참고자료

 

puts 함수 사용법 

puts(str);

str : 출력할 문자형 배열

 

puts는 문자열을 출력하는 함수입니다. 다만, 문자열만 출력할 수 있고, 출력 후 개행을 합니다. 작동방식은 전달된 메모리 주소의 문자열을 \0이 나올때까지 출력하는 방식입니다.

 

gets, puts 간단 예제

#include <stdio.h>
int main() {
    char ch[30];
    gets(ch);
    puts(ch);
    return 0;
}

gets와 puts를 사용하려면 stdio.h 헤더파일을 include 한뒤 문자열 배열을 만들고 사용하시면 됩니다.

댓글

Designed by JB FACTORY