반응형
여러군데서 찾은 결과는
scanf는 빈공백을 마친걸로 생각한다고 합니다. 그래서 공백이 있는 문자열을 넣을떄는 gets를 사용해야 한다고 합니다.
그런데 gets는 보안상의 문제? 오버플러(이건 또..)의 문제가 있어서 fgets를 사용해야 한다나;;
만약 gets를 사용하는데, 입력도 안했는데, 이녀석이 알아서 입력받은것 처럼, 넘어간다면,,
gets(); 이걸 쓰기전에 fflush(stdin); 또는 getchar();를 써서 버퍼를 비워야 한다고 합니다..
fflush(stdin) 하지만 이건 VC 에서 작동하는거라, gcc에서는 작동을 안하다고 하더군요;;
.....C.. 들어가면 갈수록 복잡하네;
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 |
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 |