Download presentation
Presentation is loading. Please wait.
1
DKT121: Fundamental of Computer Programming
Files Operations UniMAP Sem2-10/11 DKT121: Fundamental of Computer Programming
2
DKT121: Fundamental of Computer Programming
Introduction Almost all of the program developed before this is interactive In interactive environment, input is via keyboard and output is via screen/monitor This type of processing is not suitable if it involves huge amount of input or output to be entered or be displayed on the screen at one time Therefore, file processing can solve the problem mentioned UniMAP Sem2-10/11 DKT121: Fundamental of Computer Programming
3
DKT121: Fundamental of Computer Programming
File Declaration To implement file processing in C program, need to #include <stdio.h> FILE *in_file; FILE *out_file; in_file and out_file are known as internal file name UniMAP Sem2-10/11 DKT121: Fundamental of Computer Programming
4
Opening File and fopen function
Each file must be opened before it is processed While opening the file, external file name need to be related to the internal file name using fopen function. Format: internal_filename =fopen(external_filename, mode); Internal file name is the name that the C system uses to identify a file among others that a program might process External file name is the name given at “save file as” outside the program e.g. “student.dat”, “student.out” etc Mode is used to open file UniMAP Sem2-10/11 DKT121: Fundamental of Computer Programming
5
DKT121: Fundamental of Computer Programming
File Mode Basics mode are: “r” : open file to read “w” : open file to write “a” : append data to the end of an already existing file “r+” : open and create file to update, i.e. read and write; did not overwrite previous output “w+” :open and create file for update; overwrite “a+” : append; open or create file for update UniMAP Sem2-10/11 DKT121: Fundamental of Computer Programming
6
Opening File and fopen function-example
FILE *in_file; FILE *out_file; in_file = fopen(“student.dat”, “r”); out_file = fopen(“student.out”, “w”); UniMAP Sem2-10/11 DKT121: Fundamental of Computer Programming
7
File Open Verification
There is a possibility opening file fails. Maybe the particular file does not exist Therefore need to check or verify whether the file is successfully opened If file fails to open, need to stop the program, use exit(-1); if (in_file == NULL) { printf(“File fails to open\n”); exit(-1); } UniMAP Sem2-10/11 DKT121: Fundamental of Computer Programming
8
File Open Verification-cont
You can also combine open file and file verification if ((in_file = fopen(“student.dat”, “r”)) == NULL) { printf(“File fails to open\n”); exit(-1); } UniMAP Sem2-10/11 DKT121: Fundamental of Computer Programming
9
Closing File and fclose function
Each opened file need to be closed Format: fclose(internal_filename); e.g fclose(in_file); fclose(out_file); UniMAP Sem2-10/11 DKT121: Fundamental of Computer Programming
10
Check for End-of-File and the feof function
Usually you don’t know how many data you want to read from file Therefore, need to check whether you have reach end of file Format: feof(internal_filename) UniMAP Sem2-10/11 DKT121: Fundamental of Computer Programming
11
Check for End-of-File and the feof function-example
FILE *in_file; in_file = fopen(“student.dat”, “r”); if(in_file == NULL) { printf(“Error opening file\n”); exit(-1); } while(! feof(in_file)) { //stmt to process data } fclose(in_file); UniMAP Sem2-10/11 DKT121: Fundamental of Computer Programming
12
Reading Data from Text Files
Format fscanf(internal file name, format control string, input list); fscanf(in_file, “%d”, &marks); fgetc(internal file name); ch = fgetc(in_file); fgets(string variable, size, internal file name); fgets(name, 10, in_file); UniMAP Sem2-10/11 DKT121: Fundamental of Computer Programming
13
Writing Data to Text File
Format fprintf(internal file name, format control string, output list); fprintf(out_file, “%d”, marks); fputc(character expression,internal file name); fputc(ch, out_file); fputc(“4”, out_file); fputs(string expression, internal file name); fputs(name, out_file); fputs(“makan”, out_file); UniMAP Sem2-10/11 DKT121: Fundamental of Computer Programming
14
DKT121: Fundamental of Computer Programming
Sample Program while(!feof(in_file)) { fscanf(in_file,"%d",&marks); ++count; total = total + marks; fprintf(out_file, " %d ",marks); } avg = total /count; fprintf(out_file, "\n%.2f\n", avg); fclose(in_file); fclose(out_file); return 0; }//main #include <stdio.h> #include <stdlib.h> int main(void) { FILE *in_file; FILE *out_file; int marks, total=0, count = 0; float avg; in_file = fopen("student.dat", "r"); out_file= fopen("student.out", "w"); if(in_file == NULL) printf("Error opening file\n"); exit(-1); } UniMAP Sem2-10/11 DKT121: Fundamental of Computer Programming
15
Sample input file and output file
student.dat student.out 64.00 UniMAP Sem2-10/11 DKT121: Fundamental of Computer Programming
16
DKT121: Fundamental of Computer Programming
End Files Operation Q & A! UniMAP Sem2-10/11 DKT121: Fundamental of Computer Programming
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.