Data Files Allow us to store information permanently, and access and alter information whenever...
Transcript of Data Files Allow us to store information permanently, and access and alter information whenever...
Data Files• Allow us to store information permanently,
and access and alter information whenever necessary
• Types of data files– Stream-oriented (Standard) data files: Easier to
work with• Text file: consisting of consecutive characters• Binary file (unformatted data files): organizes data
into blocks. These blocks represent more complex data structure, such as arrays and structures
– System-oriented data files: closely related to the computer’s operating system
Opening and closing a data file• First establish a buffer area, where information
is temporarily stored while being transferred between the computer’s memory and the data fileFILE *ptvar;
• FILE is a special structure type that establishes the buffer area, ptvar is pointer (stream pointer or stream) that indicates the beginning of the buffer area.
Opening and closing a data file
• Data files must be opened before it is created or processed. This associates the file name with buffer area (i.e. with the stream)
• It also specifies how the data file will be utilized, as– Read-only file– Write-only file– Read/write file
Ptvar=fopen(file-name, file-type);
Opening and closing a data file• File name is a string, that specifies the name
(also location) of the file
• File-type must be one of the following string:– “r” =read only file– “w”=write only file. Destroy existing same name file– “a”=file for appending. New file created (if no file) – “r+”=both read and write file– “w+”=both read and write file. Destroy existing file.– “a+”=file for reading and appending. New file create
Opening and closing a data file
• fopen function returns a pointer to the beginning of the buffer area associated with file. (returns NULL is file does not exist)
• Data files must be closed at the end of the of the program
fclose(ptvar)
Reading and writing a data file
• putc(“a”, fpt): put a character into a data file• c=getc(fpt):read a character from a data file• fprintf(fpt,”%s”,custome.name): write the
value of a variable into a file• fscanf(fpt,”%s”, customer.name): read a
value from a file and store in a variable• feof(fpt):check whether end-of-file has been
reached or not
Reading and writing unformatted data file
• fwrite(&customer, sizeof(record),1,fpt): write a block of data stored in the variable customer, whose data type is record, in the file fpt 1 time
• fread(&customer, sizeof(record),1,fpt): read a block of data stored in the variable customer, whose data type is record, from the file fpt 1 time
Problems
• Take input from keyboard and store in a file
• Read from a file and display in the monitor
• Copy a file
• Encoding and decoding a file
• Create a file containing customer record
• Creating an unformatted data file containing customer record
Some more functions related to file
• fseek: seek a position and reposition the file pointer of a strean
• remove: delete a file
• ftell: return the current file pointer.Used to find the size of a file