char *str="student";
이렇게 하면 str에는 student의 주소값이 저장되고 student는 어딘가의 메모리에 저장되잔아요. 근데 사용자로부터 직접 입력받으려면 어떻게 해야되는거에요?
;
scanf 쓰세요.
char str[128]; scanf( "%s", str );
위의 코드는 잠재적으로 문제가 많은 코드입니다. 요새는 이렇게 안쓰겠죠. scanf_s가 좋겠지만, MS 전용입니다. 혹은 다음 링크를 보세요. http://www.cplusplus.com/forum/beginner/2300/
사용자 입력을 받는 부분은 단순히 책 내용대로 코딩하면 잠재적인 위험 요소가 생길 여지가 많은 부분입니다.
아래 사이트 내용 참조하셔서 코딩하시기 바랍니다.
https://www.securecoding.cert.org/confluence/display/seccode/STR35-C.+Do+not+copy+data+from+an+unbounded+source+to+a+fixed-length+array
텍스트 포맷에 대한 자세한 정보
<code>
<blockcode>
<apache>
<applescript>
<autoconf>
<awk>
<bash>
<c>
<cpp>
<css>
<diff>
<drupal5>
<drupal6>
<gdb>
<html>
<html5>
<java>
<javascript>
<ldif>
<lua>
<make>
<mysql>
<perl>
<perl6>
<php>
<pgsql>
<proftpd>
<python>
<reg>
<spec>
<ruby>
<foo>
[foo]
;
;
scanf 쓰세요. char
scanf 쓰세요.
char str[128];
scanf( "%s", str );
위의 코드는 잠재적으로 문제가 많은 코드입니다. 요새는 이렇게 안쓰겠죠.
scanf_s가 좋겠지만, MS 전용입니다. 혹은 다음 링크를 보세요. http://www.cplusplus.com/forum/beginner/2300/
사용자 입력을 받는
사용자 입력을 받는 부분은 단순히 책 내용대로 코딩하면 잠재적인 위험 요소가 생길 여지가 많은 부분입니다.
아래 사이트 내용 참조하셔서 코딩하시기 바랍니다.
https://www.securecoding.cert.org/confluence/display/seccode/STR35-C.+Do+not+copy+data+from+an+unbounded+source+to+a+fixed-length+array
댓글 달기