[C언어] 문자열 입력, 문자열 출력하기(scanf_s)

[C언어] 문자열 입력, 문자열 출력하기(scanf_s)


문자열 입력, 출력 함수들

문자열 입력 함수는 대표적으로 세 가지가 있다.
1. scanf_s
2. scanf
3. gets

문자열 출력은 printf 사용하면 된다.

안전성 문제 때문에 scanf_s 함수 사용을 마이크로 소프트에서 적극 권장하고 있다.



scanf_s 함수 사용하여 문자열 입력

#include <stdio.h>

int main()
{
char input[16];

printf("문자 입력 : ");
scanf_s("%s", input, sizeof(input));

printf("%s\n", input);

return 0;
}


1. char를 배열로 선언해주고 %c 대신 %s로 입력 받으면 된다.
2. 주의 할 점은 sizeof(input)처럼 크기를 지정해 줘야 한다.
크기를 지정하지 않으면 에러 발생.

C언어로 문자, 문자열 입력시 scanf_s를 사용하는 것이 바람직하다.




결과








아래부터는 사용을 권장하지 않는 함수다.


gets 함수 사용하여 문자열 입력

#include <stdio.h>

int main()
{
char input[16];

printf("문자 입력 : ");
gets(input);

printf("%s\n", input);

return 0;
}


결과





scanf 함수 사용하여 문자열 입력

#include <stdio.h>

int main()
{
char input[16];

printf("문자 입력 : ");
scanf("%s", input);

printf("%s\n", input);

return 0;
}



결과




scanf 함수 사용 시 에러가 발생한다.
사실 scanf 함수를 사용 할 수 있는 방법이 있다.
꼭 사용해야겠다면 아래 링크 참고








댓글

이 블로그의 인기 게시물

[Python] 파이썬 if문 사용법과 예제

[네트워크] 오류 제어 방식 이란?(FEC, BEC, ARQ)

[Virtual Box] 가상머신 에러 E_FAIL (0x80004005), (VERR_SUPLIB_PATH_NOT_CLEAN) 해결 방법