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

chapter 18) 표준 입출력 스트림을 사용한 문자열 입력

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

int main(void){
    int ch;

    while (1){
        ch = getchar();
        if (ch ==EOF){
            break;
        }
        putchar(ch);
    }
    return 0;
}

### 코드 설명

- `int ch;`: 사용자로부터 입력받은 문자를 저장하기 위한 정수형 변수 `ch`를 선언합니다. 여기서 `char` 대신 `int`를 사용하는 이유는 `EOF`의 값을 저장할 수 있기 때문입니다. `EOF`는 일반적으로 `-1`로 정의되어 있으며, `char` 타입으로는 이 값을 정확히 표현할 수 없습니다.
  
- `while (1){ ... }`: 무한 루프를 생성하여 프로그램이 `EOF`를 받기 전까지 계속 실행되도록 합니다.

- `ch = getchar();`: `getchar()` 함수를 사용하여 표준 입력으로부터 한 문자를 읽고, 이를 `ch`에 저장합니다. `getchar()` 함수는 입력된 문자를 `int` 타입으로 반환합니다.

- `if (ch == EOF){ break; }`: `ch`가 `EOF`와 같은지 확인합니다. 만약 `ch`가 `EOF`라면, 무한 루프를 `break`를 통해 탈출합니다. `EOF`는 파일의 끝이나 입력 스트림의 끝을 나타내며, 보통 키보드 입력으로는 `Ctrl + D`(Unix/Linux)나 `Ctrl + Z`(Windows)를 통해 생성할 수 있습니다.

- `putchar(ch);`: `ch`에 저장된 문자를 표준 출력으로 출력합니다. 이 함수는 `ch`로 주어진 문자를 화면에 출력하며, 여기서는 사용자가 입력한 그대로의 문자가 출력됩니다.

### 실행 결과

사용자가 키보드를 통해 문자를 입력할 때마다, 그 문자가 즉시 화면에 출력됩니다. 사용자가 `EOF` 신호를 보낼 때까지 이 과정이 반복됩니다. 프로그램은 `EOF` 신호를 받으면 종료됩니다.

이 코드는 C 언어에서 표준 입력과 출력을 다루는 기본적인 방법을 보여줍니다. `getchar()`와 `putchar()` 함수는 각각 문자 입력과 출력에 자주 사용되는 함수입니다.

728x90
반응형
LIST