Gets
gets는 표준 입력에서 줄을 읽고 호출에 의해 버퍼로 불러와 저장하는 C 표준 라이브러리의 기능으로 헤더 파일인 stdio.h
에 선언되어 있다.
이행
그것은 (getchar
를 사용하여) 다음과 같이 구현할 수 있다:
char * gets (char *s) { char * ch = s; int k; /* 줄 바꿈을 읽기 전 */ while ((k = getchar ()) != '\n') { if (k == EOF) { /* EOF 줄의 시작이나 다른 EOF 보다 오류이면 NULL을 반환 */ if (ch == s || !feof(stdin)) return NULL; break; } /* 문자는 주소에 저장되고, 포인터는 증가 */ *ch++ = k; } /* 줄 바꿈을 기각하고 Null-종료 문자를 추가 */ *ch = '\0'; /* 원래의 포인터를 반환 */ return s; }
안전한 사용
프로그래머에 있어서 gets
의 안전한 사용을 하기 위해 버퍼 오버플로우를 확인하는 것이 문제가 되지 않는다.
이 글은 프로그래밍 언어에 관한 토막글입니다. 여러분의 지식으로 알차게 문서를 완성해 갑시다. |