본문 바로가기
개념/혼자 공부하는 C언어

chapter 11) getchar 함수를 사용한 문자열 입력

by kiseno 2024. 8. 8.
728x90
반응형
SMALL
#include <stdio.h>

void my_gets(char *str, int size);

int main(void){
    char str[7];

    my_gets(str, sizeof(str));
    printf("input letter : %s\n", str);

    return 0;
}

void my_gets(char *str, int size){
    int ch;
    int i =0;

    ch = getchar();
    while((ch != '\n') && (i < size -1)){
        str[i] = ch;
        i++;
        ch = getchar();
    }
    str[i] = '\0';
}

main() 함수
1-1. 크기가 7인 char 배열 str 선언
1-2. my_gets 함수를 호출하여 사용자로부터 입력 받은 문자열을 str에 저장. 배열의 크기는 sizeof(str)를 통해 전달
1-3. "input letter : "와 함께 사용자가 입력한 문자열 str 출력
반환문 (return) 작성 -> 프로그램이 성공적으로 실행되었음을 나타내기 위해 0을 반환

my_gets 함수
2-1. char 포인터 str(문자열을 저장할 배열)와 배열의 크기를 나타내는 int size 매개변수를 받음
2-2. 정수형 변수 ch와 배열 인덱스를 위한 변수 i를 선언. i는 0으로 초기화
2-3. getchar 함수를 사용하여 사용자로부터 한 문자(ch) 입력 받음
2-4. while 루프를 사용하여 개행 문자('\n')가 입력되거나 배열의 크기(size - 1)에 도달할 때까지 입력 받은 문자를 str에 저장. size - 1은 널 문자('\0')를 위한 공간 확보
2-5. 루프 종료 후 str의 마지막에 널 문자('\0')를 추가하여 문자열 종료를 표시

728x90
반응형
LIST