Está en la página 1de 5

File Management in C

Introduction of files : A file is a place on to the disc where a group of related data is stored. C supports a no.of functions that data is stored. The ability to perform basic file which include Naming a file Opining a file

Reading data from a file


Writing data from a file and closing a file Defining and opening a file : If we want to store data in a file in the secondary memory specify certain things about the file to the operating system they include 1. File name 2. Data structure 3. Purpose
File name is a string of characters that makeup a vaild for the operating system. Data structure of a file is defined as File in the library of standard I/O function definition .

File is a defined data type.

File operations :
Fopen function: The general format for declaring and opening la file is

FILE *fp; Fp = fopen ( file name, mode ); Where the variable fp has a pointer to the data type File opens the File name a and pointer assigns an identifier to the File type pointer fp. This pointer which contains all the information about the File subsequently used as a communication link between the system used as a communication between the system and the program. Mode can be one the following r - open the file for reading only. w - open the file writing only. a - open the file for appending (adding) data to each. Both file name and mode are specified as string they should be enclosed in . Ex : FILE * fp1, *fp2; Fp1 = fopen (data, r); Fp2= fopen (result, w);

Where fp1,fp2 are pointer the fp1 is opens the File named as datafor reading mode only then fp2 opens the file named as result for writing made only

Fclose function : A File must be closed after all operations have been completed. The general form of fclose function is Fclose (file pointer); Ex : Fp1 =fopen (input, "W); Fp2 = fopen(output, r);

Fclose(fp1); Fclose(fp2); This program opens two files and closes them after all operations on them are completed once a file is closed its file pointer can be reused for another file. The getc function : It is used to read a character from a file that has been opened in read mode the general form of statement is C=getc (file pointer); Here read a character from the file whose pointer is file pointer and assigned the reading character to C. The reading is terminated when getc encounter end of file mark Eof. Ex : Char c; File *fp;

Fp=fopen (input, r); While(c=getc(fp)!=Eof) Putchar ( c ); The putc function : The another simple I/o function is putc. putc is used to write a character to a file that has been opened in write mode. Putc (c,fp); Where read a character through to the variable and put these character through whose file pointer is fp the writing is terminated when putc encounters the end of file mark EOF. Ex : FILE *fp; Char C; Fp=fopen(input, w); While (c = getchar( c )!= EOF) Putc(c, fp);

The getw function : The simplest integer oriented file I/o function is get w that has been opened in read mode the general from of statement is Num =getw (fp); Where read an integer value from the file whose file pointer is fp and assigned the reading numbers to num. The reading is terminated when getw encounters the end of file mark EOF. Ex : FILE *fp Int num; Fp=fopen (input, "r); While (num=getw(fp)!=EOF) Printf(%d, num); The Putw function : The simplest I/O integer oriented function is putw. putw is used to create an integer value to a file that has been opened in write mode. The general form statement is Putw(num,fp); Where read a number through to the variable num and put the number into the file whose file pointer is fp. The waiting is terminted when Putw encounters the end of file mark Eof (i.e,num=0) Ex : FILE *fp Int num; Fp=fopen (INPUT, "w); Scanf(%d, & num); While (num!= fp) Putw(num,fp); Scanf(%d, & num);

The fprintf function : The fprintf statement is used to write data items to the file whose file pointer is opened in the writing mode. fprintf perform I/O operations an files the general form of fprintf is Fprintf (fp, "control string", list); Where fp is a file pointer associated with a file that has been opened for writing. The control string contains output specifications for the items in the list. The list may be including variable constants and strings. Ex : fprintf (fp1, "%s %d %f, name age,7.5); Where name is an array variable of type and age is an int variable. The fscanf function : The fscanf function is used to read data items to the file whose pointer is opened in the reading mode. fscanf function performs I/O operations on files. The general form of fscanf is

fscanf (fp, control string, list); This statement reading of the items in the list from the file specified by fp. The control string contains input specifications for the items in the list. Ex : fscanf (fp1, %s %d, item & quantity

Where item is an array variable of type and quanity is an int variable. Fscanf returns the no.of items when the end of file is reached 'i' returns the value Eof The feof function : This function can be used to test for an end of file condition It takes a file pointer as an argument and returns a non-zero integer value id all of the data from the specified file has been read and returns zero otherwise. If (feof (fp) Printf(end of file); This statement gives the end of data when encountered end of file condition The ferror function : It is also takes a file pointer its argument and returns a nonzero integer if an error has been detected upto that point during processing it returns zero otherwise. Ex : The statement If (ferror (fp)!=0) Printf(file could not be open); Print the error message if the reading is not successful. The ftell function : This function is useful in saving the current position of a file, which can be used later in the program . It takes the following form N = ftell ( fp); Where n gives the relative offset (in bytes) of the current position. This means that n bytes have already read. The Rewind function : It takes a file pointer and resets the position to the start of the (in bytes). The statement is Rewind (fp); N = ftell(fp); It will assign o to n because the file position has been set to the start of the file by rewinded. i.e.., The first byte in the file is numbered as o second as 1 and a so on. Fseek function : It is used to move the file position to a desired location within the file It takes the following form Fseek (file pointer, offset, position);

Here file pointer is a pointer to the file, offset is a number or variable of type long, and position is an integer variable. The offset specifies the positions (bytes) to be moved from the location specified by position. Value beginning of the file current position end of the file Meaning

The Offset may be +ve meaning moved forwards, or - ve meaning moved backwards. Ex :
Fseek(fp,oL,0) goto beginning

Fseek(fp,m,0) move (n+1)th byte in the file Fseek (fp,m,1) goto forward by m bytes Fseek (fp,-m,1) goto backward by m bytes from the current position Fseek (fp ,-m,2) goto backward by m bytes from the end.

También podría gustarte