★스트림의 생성과 소멸
콘솔 입출력을 위한 '입력 스트림'과 '출력 스트림'은 프로그램이 실행되면 자동으로
생성되고, 프로그램이 종료되면 자동으로 소멸되는 스트림이다.
putchar<-문자를 1개씩 출력할때 사용(보통 \n을 많이사용)
fputc<-stdin, stderr등이 합쳐져 있는것을 분리해서 사용가능
putchar('\n') 따옴표는 1글자를 의미
getchar<-문자를 1개씩 입력할때 사용
fgetc<-
fprintf<-fputc처럼 파일출력위치 지정가능
ch1=getchar(); //문자 입력 - 키보드를 읽어와 ch1에 아스키코드값 저장
ch2=fgetc(stdin); // 엔터 키 입력
gets는 보안에 취약해서 가급적 쓰지 않는게 좋다!
fgets(str, sizeof(str), stdin); // stdin으로부터 문자열을 입력 받아서 배열 str에 저장하되,
sizeof(str)의 길이만큼만 저장해라!
버퍼는 메모리에 저장되는 공간(윈도우에선? 큐)
예=scanf로 입력을 받을시 엔터를 치기전에 저장되어 있는것 엔터를 치지 않으면 화면에
표시된 문자나 숫자는 어딘가에 저장되어있다!
버퍼링을 하는 이유는 데이터의 전송 효율성 즉 일을 여러번 나누어서 하는것보다
한번에 하는것이 빠르고 효율적이기 때문에
File | - | stdout | 모니터 | 1번 |
- | stdin | 키 | 0번 | |
- | stderr | 에러 | 2번 | |
- | 일반 |
stderr은 예전엔 프린터로(dot방식 프린터시절) 에러를 모두 출력햇으나
Log파일로 기록되도록 바뀌었다가 요즘엔 선택?
(리 디렉션)실행파일이름뒤에 >을 붙이면 사용예
도스
dir > a.txt // 1번 실행시 파일이 없으면 생성되어 아래의 내용이 저장된다!
D 드라이브의 볼륨에는 이름이 없습니다.
볼륨 일련 번호: 2A6A-5E9A
D:\C\20150715\p420 디렉터리
2015-07-15 오전 09:53 <DIR> .
2015-07-15 오전 09:53 <DIR> ..
2015-07-15 오전 10:26 0 a.txt
2015-07-15 오전 09:32 214 main.c
2015-07-15 오전 09:32 72,192 main.exe
2015-07-15 오전 09:32 710 main.obj
4개 파일 73,116 바이트
2개 디렉터리 229,105,537,024 바이트 남음
cl > a.txt // 1번 stdout - 실행시 아래의 내용저장
usage: cl [ option... ] filename... [ /link linkoption... ]
cl 2> a.txt // 2번 stderr - 실행시 아래의 내용저장
Microsoft (R) C/C++ Optimizing Compiler Version 18.00.31101 for x86
Copyright (C) Microsoft Corporation. All rights reserved.
fgetc(stdin) // f get c (stdin)==f는 sdtin이고 stdin은 File라고 볼수있다!
댓글 없음:
댓글 쓰기