char line[512]; 그리고 switch case 안에서
printf("input"); gets(line);
이렇게 해주면 line 에 쓰레기 값이 들어가는지 입력을 받지도 않고 다음 으로 기냥 넘어갑니다 line을 출력해보면 쓰레기값이 나오구요 왜 이러죠? 빈칸이 있는걸 받아야 되서 scanf 로는 못 받고
표준입력으로 부터 받는거라면 fgets 를 쓰시는게 좋습니다. gets 는 사이즈 검사를 안하기 때문에 되도록이면 쓰지 않는게 좋구요.
fgets(char*, 255, stdin) 머 대충 이런식으로 ..사용하시면 됩니다.
텍스트 포맷에 대한 자세한 정보
<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]
Re: gets()
표준입력으로 부터 받는거라면
fgets 를 쓰시는게 좋습니다.
gets 는 사이즈 검사를 안하기 때문에 되도록이면 쓰지 않는게 좋구요.
fgets(char*, 255, stdin)
머 대충 이런식으로 ..사용하시면 됩니다.
댓글 달기