반응형
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() 출력에 대해서 알아보도록 하겠습니다.
긴 글 읽어주신 독자분들께 진심으로 감사드립니다~
반응형
'c언어' 카테고리의 다른 글
c언어 scanf()를 이용한 입력에 대하여 알아보기 (0) | 2023.02.14 |
---|---|
c언어 printf() 출력에 대하여 알아보기 (0) | 2023.02.12 |
c언어 여러가지 포인터와 인수로 문제 풀기(프로그램 인수 사용하기, qsort() 함수 사용하기, 이분법으로 근 구하기) (0) | 2023.02.11 |
c언어 main 함수의 인수에 대하여 알아보기 (0) | 2023.02.10 |
c언어 void 포인터에 대하여 알아보기 (0) | 2023.02.10 |
댓글