Você está na página 1de 22

DEPARTMENT OF TECHNICAL EDUCATION

ANDHRA PRADESH
Name :M.Subramanyam
Designation :Senior Lecturer
Branch :Computer Engg.
Institute :Q.Q.Govt.Polytechnic,Hyderabad.
Year/Semester :III Semester
Subject :UNIX & C
Subject Code :CM-304
Topic :Files
Duration :50 Min
Sub Topic :File I/O functions
Teaching Aids :PPTs, Animations
CM304.86 1
Recap

 What is the use of fgetc() and fputc()?


 What is the use of fgets() and fputs()?
 What is the use of getw() and putw()?
 Can you write different types of values to a file
using single function(fputc(),fputs(),putw())?
 Can you read different types of values from a
file using single function(fgetc(),fgets(),getw())?

CM304.86 2
Objectives

On completion of this period, you would be able


to know …
 Read different types of values from the file.
 Write different types of values to the file.
 Write a structure to the file.
 Read a structure from the file.

CM304.86 3
Formatted file I/O

 fprintf(): To write multiple type of data values into


the file.
 Sends formatted data to the file.
Syntax:
fprintf(FILE *,”conversionspecifiers”,variable(s))
 Conversion specifiers - %c, %d, %f etc.,
 Variable(s)-variables whose values are to be
written to the file

CM304.86 4
Formatted file I/O
Contd..

Example:

 char a = ‘Z’; int b = 10; float c = 3.17;


 FILE * fp;
 fprintf (fp,”%c%d%f”,a,b,c);

CM304.86 5
Example

CM304.86 6
Example

 fscanf(): To read character, string, integer, float etc.,


from the file.
 Reads formatted data from the file.
 Syntax:
fscanf (FILE *,”conversionspecifiers”,&variable(s))
 Conversion specifiers-%c, %d, %f etc.,
 &Variable(s)-addresses of the variables whose
values are to be read from the file.
CM304.86 7
Example

Example:

 char a; int b; float c;

 FILE * fp;

 fscanf(fp,”%c%d%f”,&a,&b,&c);

CM304.86 8
Example

CM304.86 9
Structure data file I/O

 Structure can be read from file using fread().

 Structure can be written to file using fwrite().

 fread() and fwrite are also known as binary file


I/O functions.

CM304.86 10
fread() function

 Reads a specified number of bytes from a file


into memory.

 Used to write an entire structure block to a


given file.

 fread( &structurevariable, sizeof


(structurevariable), 1, FILE * );
CM304.86 11
fread() function
Contd..

 &structurevariable – Location to transfer bytes


from file.
 sizeof( structurevariable ) – Number of bytes
to transfer .
 1 – number of elements of an array/records to
transfer.
 In case of an array, "one element" of an
array is being transferred.
 FILE pointer – File to transfer from
CM304.86 12
fwrite() function

 Transfer bytes from a location in memory to a


file.
 Write an entire structure block to a given file.
 fwrite( &variable, sizeof( datatype ), 1, FILE * );
 &variable – Location to transfer bytes from
structure to file.

CM304.86 13
fwrite() function
Contd..

 1 – number of elements of an array/records


to transfer
 sizeof( structure ) – Number of bytes to
transfer.
 In case of an array, "one element" of an
array is being transferred
 FILE Pointer - File to write.

CM304.86 14
Example

CM304.86 15
Example Contd..

CM304.86 16
Summary

In this period, you have learnt about…


 Different types of values can be read from the file
using fscanf().
 Different types of values can be written to the file
using fprintf().
 Structures can be read from the file using fread().
 Structures can be written to the file using fwrite().

CM304.86 17
Quiz

1)fprintf() writes data to

a)file

b)keyboard

c)both (a) and (b)

d)none

CM304.86 18
Quiz

1)fprintf() writes data to

a)file

b)keyboard

c)both (a) and (b)

d)none

CM304.86 19
Quiz

2)Which of the following function is used for


reading binary data from the file

a) read()

b) fread()

c) fscanf()

d) all the above


CM304.86 20
Quiz

2)Which of the following function is used for


reading binary data from the file

a) read()

b) fread()

c) fscanf()

d) all the above


CM304.86 21
Frequently Asked Questions

1.Distinguish between scanf() and fscanf().

2.Distinguish between printf() and fprintf().

3.Explain fread() and fwrite() with their syntax.

CM304.86 22

Você também pode gostar