본문 바로가기
c언어

c언어 스트림에 대하여 알아보기

by 개발자 L 2023. 2. 11.
반응형

c언어 스트림에 대하여 알아보기

네 안녕하세요, 이번 포스팅에서는 스트림에 대하여 알아보도록 하겠습니다.

스트림이란 쉽게 말하면 바이트들, 다시 말하면 데이터의 흐름을 이야기합니다.

프로그래밍 언어들은 여러 가지 방식으로 데이터를 주고받지만,

c언어의 경우는 스트림으로 주고받습니다.

그럼 c언어가 쓰는 스트림은 어떤 것들이 있는지 한 번 알아보도록 하겠습니다.

 

1. c언어의 표준 입출력 스트림

표준 입출력 스트림은 개발자가 직접 입력을 하지 않아도 자동으로 생성이 되는 스트림을 이야기합니다.

대표적으로 이런 것들이 있습니다.

이름 스트림 연결 장치
stdin 표준 입력 스트림 키보드
stdout 표준 출력 스트림 모니터 화면
stderr 표준 오류 스트림 모니터 화면

이렇습니다.

c언어의 경우는 scanf()를 사용할 시에 사용자가 직접 입력을 하기 때문에 stdin을 사용을 하게 되는 것이고,

printf()를 사용할 시에는 출력 함수를 입력한 것이기 때문에 stdout을 사용을 하게 되는 것입니다.

그리고 stderr의 경우는 개발자가 다르게 정의를 내릴 수도 있지만,

보통 터미널을 이용해서 에러 메시지를 봄으로써 printf()를 이용하여 같이 본다 할 수 있습니다.

반응형

 

2. 입출력 함수의 분류

입출력 함수는 크게 두 가지로 나눌 수 있습니다.

  • 형식의 유무에 따라 - 형식이 있는 입출력, 형식이 없는 입출력
  • 스트림의 종류에 따라 - 표준 입출력을 사용하는 함수, 일반 입출력을 사용하는 함수

여기서 보통 형식이 있는 입출력이란 정수나 실수 등의 숫자형 데이터를 의미하고,

형식이 없는 입출력은 문자열 형태의 입출력을 말하곤 합니다.

아래는 스트림을 분류한 표입니다.

스트림 & 형식 표준 스트림 일반 스트림 설명
형식이 없는 스트림
(문자 형식)
getchar() fgetc(FILE *f...) 문자 입력 함수
putchar() fputc(FILE *f...) 문자 출력 함수
gets_s() fgets(FILE *f...) 문자열 입력 함수
puts() fputs(FILE *f...) 문자열 출력 함수
형식이 있는 스트림
(정수, 실수, etc...)
printf() fprintf(FILE *f...) 형식화된 출력 함수
scanf() fscanf(FILE *f...) 형식화된 입력 함수

이렇습니다.

 

여기까지 스트림에 대하여 알아봤는데요,

다음 포스팅에서는 printf() 출력에 대해서 알아보도록 하겠습니다.

긴 글 읽어주신 독자분들께 진심으로 감사드립니다~

반응형

댓글