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 의 安全한 使用을 하기 위해 버퍼 오버플로우를 確認하는 것이 問題가 되지 않는다.