Notice
Recent Posts
Recent Comments
Link
생선이의 잡다한 블로그
C언어 강좌 10 - gets 로 입력을 받아보자! gets_s 본문
반응형
안녕하세요 생선스프입니다!
입력을 받는데는 여러가지 함수가 있습니다
scanf gets 등등..
이번 강좌에서는 gets 를 다뤄보도록 하겠습니다
gets는 한 줄의 문자열을 읽어들이는 함수입니다
gets는 형태가 puts와 비슷합니다
gets(입력받을공간의주소)
이렇습니다
하지만 이제 gets는 사용할 수 없습니다
gets는 위의 형태를 봐도 알 수 있듯이 자료의 크기를 지정해 줄 수 없습니다
그래서 버퍼오버플로우가 생길수 있는 것이죠
그래서 이 위험한 함수가
2011년에 C 표준 개정안에서 표준 라이브러리에서 삭제되었습니다
이는 VC++ 2012 부터 적용됩니다
그래서 이제는 gets를 찾아봐도 없습니다!
그러면 저희는 무엇을 사용할까요?
아마 예상하신 분들도 계시겠지만 gets_s 입니다
gets_s(입력받을공간의주소, 입력받을크기)
이렇습니다
아래의 예제를 보도록 하겠습니다
1 2 3 4 5 6 7 8 9 | #include <stdio.h> void main() { char ch[20]; gets_s(ch,sizeof(ch)); printf("%s\n", ch); } | cs |
그리고 실행을 시켜보면 입력한 그대로 나오는 것을 확인할 수 있습니다
gets_s 는 이게 다입니다!
강좌 읽어주셔서 감사합니다
공감과 댓글은 생선에게 힘이됩니다!
반응형
'프로그래밍 > C언어 강좌' 카테고리의 다른 글
C언어 강좌 12 - 연산한 값을 바로 대입하자! 복합대입연산자 대입연산자 (0) | 2017.04.12 |
---|---|
C언어 강좌 11 - 사칙연산을 해보자! 산술연산자 (0) | 2017.04.11 |
C언어 강좌 9 - scanf 로 입력을 받아보자 (0) | 2017.04.04 |
C언어 강좌 8 - 자료의 크기를 구해보자! sizeof (2) | 2017.04.03 |
C언어 강좌 7 - Main이 뭔가 다른 강좌랑 다르다? 함수의 반환값과 main의 기본형 (0) | 2017.03.09 |
Comments