'gets' function is dangerous and should not be used.
gets는 버퍼에 얼마나 값을 저장할지 지정하지 않기 때문에 버퍼오버플로우 기법에 노출된다.
때문에 fgets를 이용해 크기를 지정해서 사용하는 방법을 채택한다.
fgets(char *, int, FILE *)
(저장할 버퍼, 저장할 크기, 읽어들일 대상)
읽어들일 대상에 주로 stdin 을 사용한다.
즉 키보드에서 입력한 값을 읽는다는 의미이다. 키보드에서 읽어서 크기만큼 버퍼에 저장하게 된다.
gets의 경우 과정은 동일하지만 키보드가 기본이자 고정이다.
다른 곳으로부터 읽을 수 없으며. 읽는 크기에 대한 제약이 없다.
gets는 버퍼에 얼마나 값을 저장할지 지정하지 않기 때문에 버퍼오버플로우 기법에 노출된다.
때문에 fgets를 이용해 크기를 지정해서 사용하는 방법을 채택한다.
fgets(char *, int, FILE *)
(저장할 버퍼, 저장할 크기, 읽어들일 대상)
읽어들일 대상에 주로 stdin 을 사용한다.
즉 키보드에서 입력한 값을 읽는다는 의미이다. 키보드에서 읽어서 크기만큼 버퍼에 저장하게 된다.
gets의 경우 과정은 동일하지만 키보드가 기본이자 고정이다.
다른 곳으로부터 읽을 수 없으며. 읽는 크기에 대한 제약이 없다.
'프로그래밍 > Error 메세지' 카테고리의 다른 글
unknown field ‘open’ specified in initializer (0) | 2011.11.01 |
---|---|
undefined reference to `pthread_join' 에러 발생 시. (0) | 2011.10.10 |