이 프로그램에서는 하나의 파일에 있는 홀수와 짝수를 정렬하려고 합니다. 그런 다음 ODD 파일의 모든 홀수와 EVEN 파일의 짝수를 모두 쓰려고 합니다.
쓰기 모드에서 파일 DATA를 열고 파일에 일부 숫자를 쓰고 나중에 닫습니다.
다시,
- 읽기 모드에서 DATA 파일을 엽니다.
- 쓰기 모드에서 ODD 파일을 엽니다.
- EVEN 파일을 쓰기 모드로 엽니다.
그런 다음 while 루프를 사용하여 홀수와 짝수를 확인하는 연산을 수행합니다.
그런 다음 모든 파일을 닫습니다.
예시
다음은 파일 개념을 사용하여 정수 데이터 파일을 처리하는 C 프로그램입니다. -
#include <stdio.h> int main(){ FILE *f1,*f2,*f3; int number,i; printf("DATA file content is\n"); f1=fopen("DATA","w");//creating DATA file for(i=1;i<=10;i++){ scanf("%d",&number); if(number==-1) break; putw(number,f1); } fclose(f1); f1=fopen("DATA","r"); f2=fopen("ODD","w"); f3=fopen("EVEN","w"); while((number=getw(f1))!=EOF){//read from DATA file if(number %2 ==0) putw(number,f3); //write to even file else putw(number,f2); //write to ODD file } fclose(f1); fclose(f2); fclose(f3); f2=fopen("ODD","r"); f3=fopen("EVEN","r"); printf("\n contents of ODD file:\n"); while((number=getw(f2))!=EOF) printf("%3d",number); printf("\n contents of EVEN file:\n"); while((number=getw(f3))!=EOF) printf("%3d",number); fclose(f2); fclose(f3); return 0; }
출력
위에서 언급한 프로그램을 실행하면 다음과 같은 결과가 나옵니다. -
DATA file content is 1 2 3 4 5 6 7 8 9 10 contents of ODD file: 1 3 5 7 9 contents of EVEN file: 2 4 6 8 10