Presentation is loading. Please wait.

Presentation is loading. Please wait.

C File Processing. Objectives To be able to create, write and update files. To become familiar with sequential access file processing. To become familiar.

Similar presentations


Presentation on theme: "C File Processing. Objectives To be able to create, write and update files. To become familiar with sequential access file processing. To become familiar."— Presentation transcript:

1 C File Processing

2 Objectives To be able to create, write and update files. To become familiar with sequential access file processing. To become familiar with random-access file processing.

3 Date Hierarchy Tom Green Judy Smith Stan Miller Randy Walter File Randy Walter Record Randy Field 01010010 Byte (ASCII Character R) 1 Bit

4 C’s View of a File of n-bytes 0 1 2 3 4 5 n-1 eof Each file will be accompanied with three streams when being executed. They are: stadin, stdout and stderr. Standard library then provides many functions for reading data from files and writing data to files. Such as: fgets read one char from a file. ( fgetc(stdin) then get from the Standard input=getchar ( ) ) Similarly, fscanf and fprintf will handle file input and output.

5 Creating a Sequential File C impose no structure on a file. Thus, notions like a record of a file do not exist as part of the C language. The programmer must provide any file structure to meet the requirements of each particular application. Example: week10 cfile.c

6 File Open Modes Mode Description r open a file for reading w open a file for writing a Append r+ open a file for update (r & w) w+ Create a file for update a+ Append; open or create a file for update; writing is done at the end of the file. ** w and w+ will discard the existing file.

7 Open an Existing File Example: /week012/creat_sfile.c fscanf( cfPtr, “%d%s%lf”, &account, name, &balance);

8 More Example Credit inquiry program. week012 credit.c rewind ( cfPtr); To move the file pointer to the beginning of the specified file.

9 Random-Access Files Normally, they have fixed –length records for individual records. May be accessed directly (and thus quickly) without searching through other records. Main applications: Airline reservation system, banking system, point-of-sale system and other kinds of transaction processing systems that require rapid access to specific data.

10 C’s view of a random-access file Byte offset 0 100200 300400 Each record has 100 bytes

11 Functions Used in Such Files 1. fwrite – transfers a specified number of bytes beginning at a specified location in memory to a file. fwrite ( &number, sizeof( int ), 1, fPtr ) Will write 4-bytes from variable number to the file represented by fPtr. Where the third parameter is the number of elements needs to write; it can be 1 int or 1 structure a time. Example: week012/creat_rfile.c 2. fread – is similar to fwrite

12 Example Create a credit processing system capable of storing up to 100 fixed-length records. Each record should consists of an account number that will be used as the record key, a last name, a first name and a balance. The first program—create the random file. create_rfile.c

13 Program Remark The statement of fwrite( &blankClient, sizeof(struct clientsData), 1, cfPtr ); Causes the structure blankClient of sizeof( struct clientsData ) to be written to the file pointed by cfPtr. *** sizeof is a compile-time unary operator that returns an unsigned integer. *** sizeof is not a function and it will not generate the execution-time overhead of a function call.

14 Function fseek( ) The ANSI standard for fseek as: Int fseek ( FILE *stream, long int offset, int whence ); Where offset is number of bytes from location whence in the file pointed by the stream. whence can take one of the three values: SEEK_SET, SEEK_CUR, and SEEK_END.

15 Other library functions fgetc – reads a character from a specified file. fgets -- reads a line from … It reads one character from a file. fgetc( stdin) is equvalent to getchar ( ) Similarly, we have fputc function. feof determines where the end-of-file indicator has been set. Like the statement: while( !feof (stdin )) in the program to create a sequential access file.

16 Summary about C file Functions related to FILE need to be familiar with: fopen, fcolse, fwrite, rewind, feof, fscanf, fprintf, fgetc, fputc, fseek,


Download ppt "C File Processing. Objectives To be able to create, write and update files. To become familiar with sequential access file processing. To become familiar."

Similar presentations


Ads by Google