Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- LOB
- 풀이
- vtable
- Compiler
- packet filter
- .nret core 배포
- architecture
- ioctl
- ncurses
- 어셈블리어
- level trigger
- REDIS
- .net core 7
- cbpf
- NAPT
- wnourefresh
- iptables
- DOCKER-USER
- doupdate
- wrefresh
- epoll_wait
- rfc5508
- edge trigger
- C언어
- mvwin
- BOF
- packet flow
- epoll
- 취약점
- Docker
Archives
- Today
- Total
Tuuna Computer Science
[C 언어] 스트림이란? 본문
/*
데이터 기반의 입출력- > 실행프로그램과 하드디스크에 저장되어 있는 파일과의 연결을 위한 스트림의 형성을 우리가 직접 운영체제에게 요구!
프로그램 중심으로 프로그램 안으로 데이터가 흘러 들어오는 것이 입력
플로그램 밖으로 데이터가 흘러 낙는 것이 출력이다.
출력을 담당하는 모니터와 입력을 담당하는 키보드 사이에 어떠한 경로를 가지고 도와주는 다라의 역할을 '스트림'이라 한다!(매개체)
입출력 스트림;
운영체제는 외부장치와 프로그램과의 데이터 송수신의 도구가 되는 스트림을 제공한다!
운영체제는 외부장치와 프로그램과의 데이터 송수신의 도구가 되는 스트림을 제공한다!
스트림의 생성과 소멸 (콘솔)(모니터와 키보드)와 파일 입출력 사이에는 차이점이 하나 있다.
파일과의 연결은 스트림의 생성을 우리가 하지만 콘솔과의 연결을 위한 스트림의 생성은 요구 하지않는다.
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
<문자 출력 함수 : putchar, fputc>
putchar 함수는 인자로 전달된 문자정보를 stdout으로 표현되는 표준 풀력 스트림으로 전송하는 함수이다.
fputc함수는 문자를 전송할 스트림을 지정할 수 있다. stdout뿐만 아니라 파일을 대상으로 데이터 전송 가능!
부연설명! fputc함수의 두 번째 매개변수 stream은 문자를 출력할 스트림의 지정에 사용 -> 이 인자에 표준 출력 스트림을 의미하는 stdout을 전달하면
putchar함수와 동일한 함수가 된다.
표현 int putchar(int c)
int fputc(int c, FILE* stream) stdin, stdout
<문자 입력 함수 : getchar, fgetc
getchar함수는 stdin으로 표현되는 표준 입력 스트림으로부터 하나의 문자를 입력 받아서 반환하는 함수이다.
fgetc함수는 getchar과 달리 문자를 입력 받을 스트림을 지정할 수 있다.
표현 int getchar(void)
int fgetc(FILE* stream)
getchar함수와 fgetc함수의 반환형은 int형이다!
<문자 입출력에서의 EOF> End Of File 파일의 끝을 표현하기 위해 정해진 상수! fgetc호출하면 EOF를 반환된다.
즉 파일의 끝에 도달하여 더이상 읽을 수 없다.
조건 . : 함수호출의 실패
CTRL+Z입력이 됬을 때
*/
----------------------------------------------------------------------------------------------------------------------------------
#include <stdio.h>
int main(void)ㅅㅅ
{
/*
int ch1, ch2;
ch1=getchar(); //문자 입력
ch2=fgetc(stdin); //엔터 키 입력
putchar(ch1); //문자 출력
fputc(ch2, stdout); //엔터 키 출력
*/
int ch; //int형인 이유가 int형은 어떠한 경우에도 있어서 -1을 인 식할 수 있기에 EOF는 -1로 정의된 상수이다
//char형은 unsigned char로 처리하는 컴파일러에 의해서 컴파일이 된다면 EOF는 반환과정 에러가 생길것이다!
while(1)
{
ch=getchar(); //printf나 scnaf는 화려한 기능을 제공하지만 그만큼 사용하는 메모리공간이 크기 때문이다!
if(ch==EOF)
break;
putchar(ch);
}
return 0;
}
'C language' 카테고리의 다른 글
[C 언어] 입력 버퍼 지우기 (0) | 2018.04.24 |
---|---|
[C 언어] 대문자를 소문자로 , 소문자를 대문자로 (0) | 2018.04.24 |
[C 언어] 포인터로 배열접근2 (0) | 2018.04.24 |
[C 언어] 포인터로 배열접근 (0) | 2018.04.24 |
[C 언어] 함수 포인터 (0) | 2018.04.24 |
Comments