글
■ 표준 입출력 함수를 사용하는 경우 버퍼라는 것을 제공받게 된다.
(1) 버퍼와 버퍼링
- 버퍼 : 여분의 임시 메모리 공간
- 입력버퍼 : 키보드로 데이터를 입력하고 나서 Enter 키를 누르는 시점에서 데이터가 입력 버퍼로 들어간다.
- 출력버퍼 : 표준출력 함수 호출을 통해 모니터에 출력하는 경우 데이터가 잠시 저장되었다가 출력 스트림을 통해 모니터로 전송된다.
○ 버퍼링
: 데이터를 전송 하는데 있어서 목적지로 바로 보내는 것이 아니라, 중간에 버퍼를 둬서 전송하고자 하는 데이터를 임시 저장해 두는 것을 말한다.
- 목적 : 성능의 향상
긴급을 요하는 입출력 작업이 아니라면, 문자가 하나씩 들어올 때마다 처리하는 것보다는 어느정도 쌓아 두었다가 처리하여 일의 효율을 높인다.
(2) 버퍼를 비우는 함수
: 긴급을 요하는 입출력 작업일 경우 성능 향상을 위한 버퍼링이 부담될 수 있다. 이러한 경우 fflush() 함수를 사용한다.
○ fflush 함수는 인자로 전달되는 스트림의 버퍼를 비우는 작업을 한다.
○ 함수원형
#include <stdio.h>
int fflush(FILE* stream);
- 스트림이 stdin인 경우 : 입력 버퍼 안에 존재하는 데이터들은 모두 버려진다.
- 스트림이 stdout인 경우 : 출력 버퍼 안에 존재하는 데이터들은 즉시 출력된다.
'P rogramming > C Language' 카테고리의 다른 글
문자와 문자열 입출력 함수 :: get() & put() (0) | 2012.07.01 |
---|---|
싱글 포인터와 더블 포인터의 swap() 함수 구현. (1) | 2012.06.26 |
구조체와 구조체포인터 (10) | 2012.03.07 |
deprecated conversion from string constant to 'char*' - Compile Error (0) | 2011.11.03 |
access() 함수 (0) | 2011.10.31 |
RECENT COMMENT