#include <stdio.h>
int main(void){
int ch;
while(1){
ch = fgetc(stdin);
if (ch == EOF){
break;
}fputc(ch, stdout);
}
return 0;
}
### 코드 설명
- `int ch;`: 입력받은 문자를 저장하기 위한 정수형 변수 `ch`를 선언합니다. 여기서 `int` 타입을 사용하는 이유는 `EOF`를 처리하기 위함입니다. `EOF`는 일반적으로 `-1`로 정의되며, `char` 타입으로는 이 값을 표현할 수 없습니다.
- `while(1) { ... }`: 무한 루프를 생성합니다. 이 루프는 `EOF`가 입력될 때까지 계속 실행됩니다.
- `ch = fgetc(stdin);`: `fgetc` 함수를 사용하여 표준 입력으로부터 한 문자를 읽고, 그 값을 `ch`에 저장합니다. `stdin`은 표준 입력 스트림을 나타냅니다.
- `if (ch == EOF) { break; }`: 만약 읽은 문자가 `EOF`라면, 루프를 종료합니다.
- `fputc(ch, stdout);`: `fputc` 함수를 사용하여 읽은 문자를 표준 출력에 출력합니다. `stdout`은 표준 출력 스트림을 나타냅니다.
### 주의사항
- 프로그램은 사용자가 `EOF`를 입력할 때까지 계속 실행됩니다. 대부분의 시스템에서 터미널에서 `EOF`를 생성하는 방법은 `Ctrl + D` (Unix/Linux) 또는 `Ctrl + Z` (Windows)를 입력하는 것입니다.
- 이 프로그램은 입력된 모든 것을 즉시 출력합니다. 따라서 사용자가 입력한 내용을 그대로 볼 수 있습니다.
이 프로그램은 C 언어에서 표준 입력과 출력을 다루는 기본적인 예제를 보여줍니다. 이러한 유형의 프로그램은 입력 데이터를 처리하거나 테스트 목적으로 유용할 수 있습니다.
'개념 > 혼자 공부하는 C언어' 카테고리의 다른 글
chapter 18) 문자열을 한 문자씩 파일로 출력하기 (6) | 2024.10.10 |
---|---|
chapter 18) 다양한 자료형을 형식에 맞게 입출력 (2) | 2024.10.09 |
chapter 18) fread와 fwrite 함수의 차이 (0) | 2024.10.07 |
chapter 18) a+ 모드로 파일의 내용을 확인하며 출력 (0) | 2024.10.06 |
chapter 17) 최고 학점의 학생 데이터 출력 (0) | 2024.10.05 |