이중 버퍼 시스템
- 최초 등록일
- 2014.12.23
- 최종 저작일
- 2014.01
- 5페이지/ 한컴오피스
- 가격 2,000원
목차
없음
본문내용
/*
input.txt의 내용을 입력받는다.
몇개의 데이터를 입력받을 것인지(num) 그만큼의 숫자를 버퍼의 크기만큼(10) input에서 읽어들인다.
하나의 버퍼가 모두 차게 되면 to_fill의 flag를 1로 변경한뒤, to_empty 즉 출력만을 하는 버퍼에 보내어 출력을 하는 동시에 다른 버퍼(to_fill)에서는 이어지는 데이터를 입력받는다.
*/
#include <stdio.h>
#include <stdlib.h>
typedef struct _buffer{ //buffer
int buffer_num; //buffer12
int full_flag; //
int record_counter; //value[]counter
int value[10]; //input.txt
struct _buffer* next; //buffer1,2
}buffer;
buffer *buffer1, *buffer2; //buffer1,2
buffer **to_fill,**to_empty; //to_fill,to_emptybuffer1,2
void init_buffer(void){
buffer1->buffer_num = 1;
buffer2->buffer_num = 2;
buffer1->full_flag = 0;
buffer2->full_flag = 0;
buffer1->record_counter = 1;
buffer2->record_counter = 1;
buffer1->next = buffer2;
buffer2->next = buffer1;
to_fill = &buffer1;
to_empty = &buffer1;
}
int main(int argc, char* argv[]){
FILE *ifp, *ofp;
int num, i=0,j=0;
int counter=0;
ifp=fopen("input.txt","rt");
ofp=fopen("output.txt","wt");
fscanf(ifp,"%d",&num);
참고 자료
없음