여러군데서 찾은 결과는

scanf는 빈공백을 마친걸로 생각한다고 합니다. 그래서 공백이 있는 문자열을 넣을떄는 gets를 사용해야 한다고 합니다.

그런데 gets는 보안상의 문제? 오버플러(이건 또..)의 문제가 있어서 fgets를 사용해야 한다나;;

만약 gets를 사용하는데, 입력도 안했는데, 이녀석이 알아서 입력받은것 처럼, 넘어간다면,,

gets(); 이걸 쓰기전에 fflush(stdin); 또는 getchar();를 써서 버퍼를 비워야 한다고 합니다..

fflush(stdin) 하지만 이건 VC 에서 작동하는거라, gcc에서는 작동을 안하다고 하더군요;;


.....C.. 들어가면 갈수록 복잡하네;

저작자 표시 비영리
신고

'Study > C / C++' 카테고리의 다른 글

string.h 함수  (0) 2009.06.02
main 함수  (0) 2009.06.02
sprintf  (2) 2009.05.25
scanf , gets  (0) 2009.05.24
gcc, clear  (0) 2009.05.24
gcc, bzero  (0) 2009.05.23
gcc, waring : warning: incompatible implicit declaration of built-in function  (4) 2009.05.15
1···625626627628629630631632633···766

+ Recent posts