scanf_s 사용 방법

Posted by 대혀니_
2015. 3. 27. 00:56 PROGRAMING/C

scanf 을 보완하여 나온게 scanf_s 이다.


오버 플로우 공격 방지를 위해 만들어졌으므로 사용할때 버퍼 메모리의 크기를 따로 입력해주어야 한다.


그래서 scanf_s("%c", &option ,1); 식으로 받아야한다. (단일 영어 문자를 받을때, 한글은 2바이트 이므로 문자당 2이지만 그래도 넉넉하게 10~20 잡아줘도 된다)


만약 scanf_s("%c", &option); 으로 받으면 해당 문자열이 깨져서 받게되므로 일단 실행은 되지만 작동하지 않는다.


변환문자(%d,%s,%c),변수명,버퍼메모리길이 순으로 적도록하자.