티스토리 뷰
scanf_s는 scanf의 보안에 더 효과적인 방법이다.
사용방법의 차이는 scanf_s는 char 또는 *char를 사용할 때 버퍼크기를 인자로 더 보내야 한다.
#include<stdio.h> int main(){ char k[10]; scanf_s("%9s", k, 10); printf("%s", k); return 0; }
다음 코드에서는 '\0'을 제외하고 9개의 문자를 받는다. 하지만, 버퍼크기를 주지 않으면, 출력이 되지않는다.
이렇게 한 이유는 buffer overrun이나 buffer overflow같은 것을 이용한 공격을 방어하기 위함이라고 한다.
'Language > C' 카테고리의 다른 글
[C언어] 문자열 함수 (0) | 2013.10.05 |
---|---|
[C언어] void형 포인터 (0) | 2013.10.02 |
[C언어] 매크로 (0) | 2013.10.02 |
[C언어] #include < >와 #include " " (0) | 2013.10.02 |
[C언어] 가변인자 (0) | 2013.10.02 |
댓글
최근에 올라온 글
최근에 달린 댓글
글 보관함
- Total
- Today
- Yesterday