[C언어] scanf와 scanf_s의 차이
scanf_s는 scanf의 보안에 더 효과적인 방법이다. 사용방법의 차이는 scanf_s는 char 또는 *char를 사용할 때 버퍼크기를 인자로 더 보내야 한다. #include int main(){ char k[10]; scanf_s("%9s", k, 10); printf("%s", k); return 0; } 다음 코드에서는 '\0'을 제외하고 9개의 문자를 받는다. 하지만, 버퍼크기를 주지 않으면, 출력이 되지않는다. 이렇게 한 이유는 buffer overrun이나 buffer overflow같은 것을 이용한 공격을 방어하기 위함이라고 한다.
Language/C
2013. 10. 2. 16:06
최근에 올라온 글
최근에 달린 댓글
글 보관함
- Total
- Today
- Yesterday