프로그래밍 언어/C

[문자와 문자열] 입출력 함수 총정리 1 : 스트림과 문자

순정법사 2023.08.17

A. 기본적인 입출력

1. 스트림 (stream)

a. 스트림이란?

🌟 실제의 입력이나 출력이 표현된 데이터의 이상화된 흐름 = 운영체제에 의해 생성되는 가상의 연결 고리

 

C언어는 파일이나 콘솔의 입출력을 직접 다루지 않고, 스트림을 통해 다룸

 

 

b. 스트림 생성 방식

  • 콘솔 장치 : 프로그램 실행 시 자동 실행, 자동 소멸
  • 파일 연결 스트림 : 직접 생성

 

 

 

c. 표준 스트림 (standard stream)

표준 스트림 설명
stdin 표준 입력 스트림
stdout 표준 출력 스트림
stderr 표준 오류 스트림

 

d. EOF(End Of File)

🌟 파일 끝에 도달했을 때 반환되는 값, -1

 

운영체제마다 다르지만 C언어에서는 운영체제 상관없이 -1을 반환함

 

💙 파일뿐만 아니라 키보드를 통한 입력시에도 입력의 끝을 알려주는 방법 (EOF 발생시키기)

⦁ 유닉스(UNIX) 시스템 : 라인의 시작 위치에서 Ctrl+D 
⦁ 윈도우 명령창 : 해당 라인의 어디에서든 Ctrl+Z를 누르고 나서 Enter

 

🤓 예제 : EOF를 입력할 때까지 계속해서 영문자를 한 문자씩 입력받기

#include <stdio.h>

int main(void)
{
    char ch;
    printf("EOF가 입력될 때까지 영문자를 계속 입력받습니다 :\n");
    printf("(윈도우에서 EOF의 강제 발생은 Ctrl+Z를 누르고 나서 Enter를 누르면 됩니다)\n"); 

    while ((ch = getchar()) != EOF)
    {
        putchar(ch);
    }

    return 0;
}

✨ 실행결과

EOF가 입력될 때까지 영문자를 계속 입력받습니다 :
(윈도우에서 EOF의 강제 발생은 Ctrl+Z를 누르고 나서 Enter를 누르면 됩니다)

a
a
b
b
-1
-1
^Z

 

 

 


B. 문자 입출력 함수

1. 단일 문자 입력 함수

a. getChar()

🌟 표준 입력 스트림(stdin)인 키보드로부터 하나의 문자를 입력받는 함수

 

📘 원형

#include <stdio.h>

int getchar(void);

 

b. fgetc()

🌟 표준 입력 스트림(stdin)인 키보드나 파일로부터 하나의 문자를 입력받는 함수

 

👉 문자를 입력받을 스트림을 인수로 전달하여 직접 지정할 수 있어서 getChar()과 다르게 파일을 통해서도 입력받을 수 있음 (앞 f는 file이 붙은것)

 

📘 원형

#include <stdio.h>

int fgetc(FILE *stream);

 

 

2. 단일 문자 출력 함수

a. putchar()

🌟 준 출력 스트림(stdout)인 모니터에 하나의 문자를 출력하는 함수

 

📘 원형

#include <stdio.h>

int putchar(int c);

 

b. fputc()

🌟 준 출력 스트림(stdout)인 모니터에 하나의 문자를 출력하는 함수

 

👉 문자를 출력할 스트림을 인수로 전달하여 직접 지정할 수 있어서 putChar()과 다르게 파일을 통해서도 문자를 출력(저장)할 수 있음 (앞 f는 file이 붙은것)

 

📘 원형

#include <stdio.h>

int fputc(int c, FILE *stream);

 

🤓 예제 : 'x'문자가 입력될 때까지 계속해서 영문자를 입력받고 출력

#include <stdio.h>  

int main(void)
{
    char ch;
    printf("x가 입력될 때까지 영문자를 계속 입력받습니다 :\n");  

    while ((ch = getchar()) != 'x')
    {
        putchar(ch);
    }  
    
    printf("x를 입력하셨습니다.\n");  
    return 0;
}

✨ 실행결과

x가 입력될 때까지 영문자를 계속 입력받습니다 :

c
c
d
d
x
x를 입력하셨습니다.

 

👉 여기서 좀 더 자세하게 공부할 수 있음

 

[입력과 출력] 콘솔 입출력, 파일 입출력, 파일 입출력 함수

A. 콘솔 입출력 공부하기 전 C 언어의 기본적인 입출력 방식에 대해 알아야 함 [문자와 문자열] 입출력 함수 총정리 1 : 스트림과 문자 A. 기본적인 입출력 1. 스트림 (stream) a. 스트림이란? 🌟 실제

monamu.tistory.com

 

 

 


출처 : http://www.tcpschool.com/c/c_string_io

 

코딩교육 티씨피스쿨

4차산업혁명, 코딩교육, 소프트웨어교육, 코딩기초, SW코딩, 기초코딩부터 자바 파이썬 등

tcpschool.com