+ All Categories
Home > Documents > By Dr. Sandip Mal SCSE, VIT Bhopal · 2018-10-26 · Sequential File: Here, data are arranged...

By Dr. Sandip Mal SCSE, VIT Bhopal · 2018-10-26 · Sequential File: Here, data are arranged...

Date post: 07-Jul-2020
Category:
Upload: others
View: 0 times
Download: 0 times
Share this document with a friend
18
By Dr. Sandip Mal SCSE, VIT Bhopal 10/24/2018 Dr. Sandip Mal 1
Transcript
Page 1: By Dr. Sandip Mal SCSE, VIT Bhopal · 2018-10-26 · Sequential File: Here, data are arranged sequentially. To read the last record of the file it is expected to read all the records

By

Dr. Sandip Mal

SCSE, VIT Bhopal

10/24/2018 Dr. Sandip Mal 1

Page 2: By Dr. Sandip Mal SCSE, VIT Bhopal · 2018-10-26 · Sequential File: Here, data are arranged sequentially. To read the last record of the file it is expected to read all the records

A file is nothing but a collection of records

and each line of the data is recorded in the

file.

The record is a group of related data items.

The library functions to access the files are available in stdio.h Computers store files to secondary storage so that the contents of files remain intact when a computer shuts down.

10/24/2018 Dr. Sandip Mal

2

Page 3: By Dr. Sandip Mal SCSE, VIT Bhopal · 2018-10-26 · Sequential File: Here, data are arranged sequentially. To read the last record of the file it is expected to read all the records

Sequential File: Here, data are arranged sequentially.

To read the last record of the file it is expected to read all the records before it.

It takes more time to access the records.

Random Access File: In this type, data can be read and modified randomly without reading the intermediate records.

10/24/2018 Dr. Sandip Mal 3

Page 4: By Dr. Sandip Mal SCSE, VIT Bhopal · 2018-10-26 · Sequential File: Here, data are arranged sequentially. To read the last record of the file it is expected to read all the records

from Table 7-1 in Forouzan & Gilberg, p. 400

Page 5: By Dr. Sandip Mal SCSE, VIT Bhopal · 2018-10-26 · Sequential File: Here, data are arranged sequentially. To read the last record of the file it is expected to read all the records

from Figure 7-4 in Forouzan & Gilberg, p. 401

Page 6: By Dr. Sandip Mal SCSE, VIT Bhopal · 2018-10-26 · Sequential File: Here, data are arranged sequentially. To read the last record of the file it is expected to read all the records

1. Create the stream via a pointer variable using the FILE structure: FILE *p;

2. Open the file, associating the stream name with the file name.

3. Read or write the data. 4. Close the file.

10/24/2018 Dr. Sandip Mal 6

Page 7: By Dr. Sandip Mal SCSE, VIT Bhopal · 2018-10-26 · Sequential File: Here, data are arranged sequentially. To read the last record of the file it is expected to read all the records

Opening of file creates a link between operating system and file functions

FILE *fp; fp=fopen(“data.txt”,”r”);

fopen() performs following tasks:

Searches the disk for opening of file If file exists, loads the file from disk to memory If file does not exist, returns NULL Locates a character pointer pointing to first

character of file

10/24/2018 Dr. Sandip Mal 7

Page 8: By Dr. Sandip Mal SCSE, VIT Bhopal · 2018-10-26 · Sequential File: Here, data are arranged sequentially. To read the last record of the file it is expected to read all the records

fopen - open a file- specify how its opened (read/write) and type (binary/text)

getc-reades a character from file

putc- writes character to a file

fgetc-reades a character from file

fputc- writes character to a file

fclose - close an opened file

fscanf-reads formatted data from file

fprintf-write formatted data to a file

fread - read from a file

fwrite - write to a file

fseek/fsetpos - move a file pointer to somewhere in a file.

ftell/fgetpos - tell you where the file pointer is located.

fgets(): reads string from a file

fputs(): writes string to a file

putw(): writes an integer value to the file

getw(): returns the integer value from a file

Page 9: By Dr. Sandip Mal SCSE, VIT Bhopal · 2018-10-26 · Sequential File: Here, data are arranged sequentially. To read the last record of the file it is expected to read all the records

Syntax: identifier = getc (file pointer); Example: FILE *fp; fp=fopen(“input.txt”,”r”); char ch; ch = getc (fp);

Page 10: By Dr. Sandip Mal SCSE, VIT Bhopal · 2018-10-26 · Sequential File: Here, data are arranged sequentially. To read the last record of the file it is expected to read all the records

write a single character to the output file,

pointed to by fp.

Example:

FILE *fp;

char ch;

putc (ch,fp);

Page 11: By Dr. Sandip Mal SCSE, VIT Bhopal · 2018-10-26 · Sequential File: Here, data are arranged sequentially. To read the last record of the file it is expected to read all the records

# include <stdio.h>

# include <conio.h>

# include <process.h>

void main()

{

FILE *fp;

char c=‘ ’;

clrscr();

fp=fopen(“data.txt”,“w”);

if(fp==NULL)

{

printf(“Can not open fi le”);

exit(1);

}

printf(“Write data & to stop

press ‘.’:”);

11

while(c!=‘.’)

{

c=getche();

fputc(c,fp);

}

fclose(fp);

printf(“\n Contents read :”);

fp=fopen(“data.txt”,”r”);

while(!feof(fp))

printf(“%c”,getc(fp));

}

OUTPUT :

Write data & to stop press ‘.’:

ABCDEFGHIJK.

Contents read: ABCDEFGHIJK.

Write a Program on Opening and Closing the File

Page 12: By Dr. Sandip Mal SCSE, VIT Bhopal · 2018-10-26 · Sequential File: Here, data are arranged sequentially. To read the last record of the file it is expected to read all the records

# include <stdio.h> # include <conio.h> void main() { FILE *fp; char text[15]; OUTPUT: int age; Name AGE fp=fopen(“Text.txt”,“w+”); AMIT 12 clrscr(); Name AGE printf(“Name’tAGE\n”); AMIT 12 printf(“Name\t AGE\n ”); scanf(“%s %d”,text,&age); fprintf(fp,“%s %d”, text,age); printf(“Name\t AGE\n ”); fscanf(fp,“%s %d”,text,&age); printf(“%s\t%d\n”, text,age); fclose(fp); }

10/24/2018 Dr. Sandip Mal 12

Page 13: By Dr. Sandip Mal SCSE, VIT Bhopal · 2018-10-26 · Sequential File: Here, data are arranged sequentially. To read the last record of the file it is expected to read all the records

Declaration: size_t fread(void *ptr, size_t size, size_t n, FILE *stream); Remarks: fread reads a specified number of equal-sized data items from an input stream into a block. ptr = Points to a block into which data is read size = Length of each item read, in bytes n = Number of items read stream = file pointer

Page 14: By Dr. Sandip Mal SCSE, VIT Bhopal · 2018-10-26 · Sequential File: Here, data are arranged sequentially. To read the last record of the file it is expected to read all the records

Example:

#include <stdio.h>

int main()

{

FILE *f;

char buffer[11];

if (f = fopen("fred.txt", “r”))

{

fread(buffer, 1, 10, f);

buffer[10] = 0;

fclose(f);

printf("first 10 characters of the file:\n%s\n", buffer);

}

return 0;

}

Page 15: By Dr. Sandip Mal SCSE, VIT Bhopal · 2018-10-26 · Sequential File: Here, data are arranged sequentially. To read the last record of the file it is expected to read all the records

Declaration: size_t fwrite(const void *ptr, size_t size, size_t n, FILE*stream); Remarks: fwrite appends a specified number of equal-sized data items to an

output file. ptr = Pointer to any object; the data written begins at ptr size = Length of each item of data n =Number of data items to be appended stream = file pointer

Page 16: By Dr. Sandip Mal SCSE, VIT Bhopal · 2018-10-26 · Sequential File: Here, data are arranged sequentially. To read the last record of the file it is expected to read all the records

Example: #include <stdio.h> int main() {

char a[10]={'1','2','3','4','5','6','7','8','9','a'};

FILE *fs;

fs=fopen("Project.txt","w");

fwrite(a,1,10,fs);

fclose(fs);

return 0;

}

Page 17: By Dr. Sandip Mal SCSE, VIT Bhopal · 2018-10-26 · Sequential File: Here, data are arranged sequentially. To read the last record of the file it is expected to read all the records

This function sets the file position indicator for the stream pointed to by stream or you can say it seeks a specified place within a file and modify it.

SEEK_SET Seeks from beginning of file

SEEK_CUR Seeks from current position

SEEK_END Seeks from end of file

Example: #include <stdio.h> int main() {

FILE * f; f = fopen("myfile.txt", "w"); fputs("Hello World", f); fseek(f, 6, SEEK_SET); SEEK_CUR, SEEK_END fputs(" India", f); fclose(f); return 0; }

Page 18: By Dr. Sandip Mal SCSE, VIT Bhopal · 2018-10-26 · Sequential File: Here, data are arranged sequentially. To read the last record of the file it is expected to read all the records

offset = ftell( file pointer ); "ftell" returns the current position for input or output on the file #include <stdio.h> int main(void) { FILE *stream; stream = fopen("MYFILE.TXT", "w"); fprintf(stream, "This is a test"); printf("The file pointer is at byte %ld\n", ftell(stream)); fclose(stream); return 0; }


Recommended