SlideShare ist ein Scribd-Unternehmen logo
1 von 23
File Handling in C
PPS PBL-II
SHIVA KUMAR 21EG101A37
SRIDHAR 21EG101A53
THIRUMALESH 21EG101A22
MAHI TEJ 21EG101A63
SANDEEP 21EG101A17
VIJAY 21EG101A48
TEAM MEMBERS
Introduction
 Files are places where data can be stored permanently.
 Some programs expect the same set of data to be fed as
input every time it is run.
 Cumbersome.
 Better if the data are kept in a file, and the program
reads from the file.
 Programs generating large volumes of output.
 Difficult to view on the screen.
 Better to store them in a file for later viewing/
processing
Introduction
 Data files
 When you use a file to store data for use by a program,
that file usually consists of text (alphanumeric data) and
is therefore called a text file.
 Can be created, updated, and processed by C programs
 Are used for permanent storage of large amounts of
data
Storage of data in variables and arrays is only
temporary
Files and Streams
 C views each file as a sequence of bytes
 File ends with the end-of-file marker
 Stream created when a file is opened
 Provide communication channel between files and
programs
 Opening a file returns a pointer to a FILE structure
Basic File Operations
 Opening a file
 Reading data from a file
 Writing data to a file
 Closing a file
Opening a File
 A file must be “opened” before it can be used.
FILE *fp;
:
fp = fopen (filename, mode);
 fp is declared as a pointer to the data type FILE.
 filename is a string - specifies the name of the file.
 fopen returns a pointer to the file which is used in all subsequent
file operations.
 mode is a string which specifies the purpose of opening the file:
“r” :: open the file for reading only
“w” :: open the file for writing only
“a” :: open the file for appending data to it
MODES
 r - open a file in read-mode, set the pointer to the beginning of the file.
 w - open a file in write-mode, set the pointer to the beginning of the file.
 a - open a file in write-mode, set the pointer to the end of the file.
 rb - open a binary-file in read-mode, set the pointer to the beginning of the file.
 wb - open a binary-file in write-mode, set the pointer to the beginning of the file.
 ab - open a binary-file in write-mode, set the pointer to the end of the file.
 r+ - open a file in read/write-mode, if the file does not exist, it will not be created.
 w+ - open a file in read/write-mode, set the pointer to the beginning of the file.
 a+ - open a file in read/append mode.
 r+b - open a binary-file in read/write-mode, if the file does not exist, it will not be created.
 w+b - open a binary-file in read/write-mode, set the pointer to the beginning of the file.
 a+b - open a binary-file in read/append mode.
Contd.
 Points to note:
 Several files may be opened at the same
time.
 For the “w” and “a” modes, if the named
file does not exist, it is automatically
created.
 For the “w” mode, if the named file exists,
its contents will be overwritten.
Examples
FILE *in, *out ;
in = fopen (“mydata.dat”, “r”) ;
out = fopen (“result.dat”, “w”);
FILE *empl ;
char filename[25];
scanf (“%s”, filename);
empl = fopen (filename, “r”) ;
Closing a File
 After all operations on a file have been completed, it
must be closed.
 Ensures that all file data stored in memory buffers
are properly written to the file.
 General format: fclose (file_pointer) ;
FILE *xyz ;
xyz = fopen (“test.txt”, “w”) ;
…….
fclose (xyz) ;
Contd
 fclose( FILE pointer )
 Closes specified file
 Performed automatically when program ends
 Good practice to close files explicitly
 system resources are freed.
 Also, you might not find that all the information that you've
written to the file has actually been written to disk until the file
is closed.
 feof( FILE pointer )
 Returns true if end-of-file indicator (no more data to process) is
set for the specified file
Files and Streams
 Read/Write functions in standard library
 getc
 Reads one character from a file
 Takes a FILE pointer as an argument
 fgetc( stdin ) equivalent to getchar()
 putc
 Writes one character to a file
 Takes a FILE pointer and a character to write as an argument
 fputc( 'a', stdout ) equivalent to putchar( 'a' )
 scanf / fprintf
 File processing equivalents of scanf and printf
Read/Write Operations on Files
 The simplest file input-output (I/O) function are getc and putc.
 getc is used to read a character from a file and return it.
char ch; FILE *fp;
…..
ch = getc (fp) ;
 getc will return an end-of-file marker EOF, when the end of the file has
been reached.
 putc is used to write a character to a file.
char ch; FILE *fp;
……
putc (ch, fp) ;
Example :: convert a text file to all
UPPERCASE
main() {
FILE *in, *out ;
char c ;
in = fopen (“infile.dat”, “r”) ;
out = fopen (“outfile.dat”, “w”) ;
while ((c = getc (in)) != EOF)
putc (toupper (c), out);
fclose (in) ;
fclose (out) ;
}
Contd.
 We can also use the file versions of scanf and printf, called
fscanf and fprintf.
 General format:
fscanf (file_pointer, control_string, list) ;
fprintf (file_pointer, control_string, list) ;
 Examples:
fscanf (fp, “%d %s %f”, &roll, dept_code, &cgpa) ;
fprintf (out, “nThe result is: %d”, xyz) ;
Contd.
fprintf
Used to print to a file
It is like printf, except first argument is a
FILE pointer (pointer to the file you want to
print in)
Some Points
 How to check EOF condition when using fscanf?
 Use the function feof
if (feof (fp))
printf (“n Reached end of file”) ;
 How to check successful open?
 For opening in “r” mode, the file must exist.
if (fp == NULL)
printf (“n Unable to open file”) ;
fread( ) and fwrite( )
size_t fread(void *buffer, size_t numbytes, size_t count, FILE *a_file);
size_t fwrite(void *buffer, size_t numbytes, size_t count, FILE
*a_file);
 Buffer in fread is a pointer to a region of memory that will receive
the data from the file. Buffer in fwrite() is a pointer to the
information that will be written to the file.
 The second argument is the size of the element; it is in bytes. For
example, if you have an array of characters, you would want to read
it in one byte chunks, so numbytes is one. You can use the sizeof
operator to get the size of the various datatypes; for example, if you
have a variable, int x; you can get the size of x with sizeof(x);
Contd..
 The third argument is simply how many
elements you want to read or write; for
example, if you pass a 100 element array
 The final argument is simply the file pointer
 Size_t is an unsigned integer.
 fread() returns number of items read and
fwrite() returns number of items written
 To check to ensure the end of file was reached,
use the feof function, which accepts a FILE
pointer and returns true if the end of the file has
been reached.
Example: Merge two files
#include <stdio.h>
int main()
{ FILE *fileA, /* first input file */
*fileB, /* second input file */
*fileC; /* output file to be created */
int num1, /* number to be read from first file */
num2; /* number to be read from second file */
int f1, f2;
/* Open files for processing */
fileA = fopen("class1.txt","r");
fileB = fopen("class2.txt","r");
fileC = fopen("class.txt","w");
/* As long as there are numbers in both files, read and compare numbersone by one. Write the smaller
number to the output file and read the next number in the file from which the smaller number is read. */
f1 = fscanf(fileA, "%d", &num1);
f2 = fscanf(fileB, "%d", &num2);
while ((f1!=EOF) && (f2!=EOF)){
if (num1 < num2){
fprintf(fileC,"%dn", num1);
f1 = fscanf(fileA, "%d", &num1);
}
else if (num2 < num1) {
fprintf(fileC,"%dn", num2);
f2 = fscanf(fileB, "%d", &num2);
}
else { /* numbs are equal:read from both files */
fprintf(fileC,"%dn", num1);
f1 = fscanf(fileA, "%d", &num1);
f2 = fscanf(fileB, "%d", &num2);
}
}
while (f1!=EOF){/* if reached end of second file, read
the remaining numbers from first file and write to
output file */
fprintf(fileC,"%dn", num1);
f1 = fscanf(fileA, "%d", &num1);
}
while (f2!=EOF){ if reached the end of first file, read
the remaining numbers from second file and write
to output file */
fprintf(fileC,"%dn", num2);
f2 = fscanf(fileB, "%d", &num2);
}
/* close files */
fclose(fileA);
fclose(fileB);
fclose(fileC);
return 0;
} /* end of main */
Jaypee Institute of Information Technology University, Noida
THANK YOU

Weitere ähnliche Inhalte

Was ist angesagt?

Was ist angesagt? (20)

File handling in c
File handling in c File handling in c
File handling in c
 
Files in c++
Files in c++Files in c++
Files in c++
 
File Management
File ManagementFile Management
File Management
 
UNIT 10. Files and file handling in C
UNIT 10. Files and file handling in CUNIT 10. Files and file handling in C
UNIT 10. Files and file handling in C
 
Database Concept - Normalization (1NF, 2NF, 3NF)
Database Concept - Normalization (1NF, 2NF, 3NF)Database Concept - Normalization (1NF, 2NF, 3NF)
Database Concept - Normalization (1NF, 2NF, 3NF)
 
File Handling in C++
File Handling in C++File Handling in C++
File Handling in C++
 
C-Programming C LIBRARIES AND USER DEFINED LIBRARIES.pptx
C-Programming  C LIBRARIES AND USER DEFINED LIBRARIES.pptxC-Programming  C LIBRARIES AND USER DEFINED LIBRARIES.pptx
C-Programming C LIBRARIES AND USER DEFINED LIBRARIES.pptx
 
Function overloading
Function overloadingFunction overloading
Function overloading
 
Function C programming
Function C programmingFunction C programming
Function C programming
 
File handling in c++
File handling in c++File handling in c++
File handling in c++
 
Basic unix commands
Basic unix commandsBasic unix commands
Basic unix commands
 
Lesson 2 Understanding Linux File System
Lesson 2 Understanding Linux File SystemLesson 2 Understanding Linux File System
Lesson 2 Understanding Linux File System
 
PHP Cookies and Sessions
PHP Cookies and SessionsPHP Cookies and Sessions
PHP Cookies and Sessions
 
File handling
File handlingFile handling
File handling
 
Input and Output In C Language
Input and Output In C LanguageInput and Output In C Language
Input and Output In C Language
 
Files in C
Files in CFiles in C
Files in C
 
File Input & Output
File Input & OutputFile Input & Output
File Input & Output
 
Unit 1 Webtechnology
Unit 1  WebtechnologyUnit 1  Webtechnology
Unit 1 Webtechnology
 
jstl ( jsp standard tag library )
jstl ( jsp standard tag library )jstl ( jsp standard tag library )
jstl ( jsp standard tag library )
 
File handling in C++
File handling in C++File handling in C++
File handling in C++
 

Ähnlich wie PPS PPT 2.pptx

Chapter 13.1.10
Chapter 13.1.10Chapter 13.1.10
Chapter 13.1.10
patcha535
 

Ähnlich wie PPS PPT 2.pptx (20)

file_handling_in_c.ppt
file_handling_in_c.pptfile_handling_in_c.ppt
file_handling_in_c.ppt
 
file_handling_in_c.ppt
file_handling_in_c.pptfile_handling_in_c.ppt
file_handling_in_c.ppt
 
File management
File managementFile management
File management
 
FILES IN C
FILES IN CFILES IN C
FILES IN C
 
Unit 8
Unit 8Unit 8
Unit 8
 
File in C language
File in C languageFile in C language
File in C language
 
Unit5
Unit5Unit5
Unit5
 
EASY UNDERSTANDING OF FILES IN C LANGUAGE.pdf
EASY UNDERSTANDING OF FILES IN C LANGUAGE.pdfEASY UNDERSTANDING OF FILES IN C LANGUAGE.pdf
EASY UNDERSTANDING OF FILES IN C LANGUAGE.pdf
 
Lecture 20 - File Handling
Lecture 20 - File HandlingLecture 20 - File Handling
Lecture 20 - File Handling
 
File handling-dutt
File handling-duttFile handling-dutt
File handling-dutt
 
Advance C Programming UNIT 4-FILE HANDLING IN C.pdf
Advance C Programming UNIT 4-FILE HANDLING IN C.pdfAdvance C Programming UNIT 4-FILE HANDLING IN C.pdf
Advance C Programming UNIT 4-FILE HANDLING IN C.pdf
 
1file handling
1file handling1file handling
1file handling
 
File Management in C
File Management in CFile Management in C
File Management in C
 
Unit5 C
Unit5 C Unit5 C
Unit5 C
 
Unit-VI.pptx
Unit-VI.pptxUnit-VI.pptx
Unit-VI.pptx
 
Files_in_C.ppt
Files_in_C.pptFiles_in_C.ppt
Files_in_C.ppt
 
Chapter 13.1.10
Chapter 13.1.10Chapter 13.1.10
Chapter 13.1.10
 
Module 5 file cp
Module 5 file cpModule 5 file cp
Module 5 file cp
 
C 檔案輸入與輸出
C 檔案輸入與輸出C 檔案輸入與輸出
C 檔案輸入與輸出
 
Module 03 File Handling in C
Module 03 File Handling in CModule 03 File Handling in C
Module 03 File Handling in C
 

Kürzlich hochgeladen

BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdfBASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdf
SoniaTolstoy
 
Beyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global ImpactBeyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global Impact
PECB
 

Kürzlich hochgeladen (20)

Unit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptxUnit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptx
 
social pharmacy d-pharm 1st year by Pragati K. Mahajan
social pharmacy d-pharm 1st year by Pragati K. Mahajansocial pharmacy d-pharm 1st year by Pragati K. Mahajan
social pharmacy d-pharm 1st year by Pragati K. Mahajan
 
Measures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeMeasures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and Mode
 
Z Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot GraphZ Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot Graph
 
Advance Mobile Application Development class 07
Advance Mobile Application Development class 07Advance Mobile Application Development class 07
Advance Mobile Application Development class 07
 
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptxSOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
 
Interactive Powerpoint_How to Master effective communication
Interactive Powerpoint_How to Master effective communicationInteractive Powerpoint_How to Master effective communication
Interactive Powerpoint_How to Master effective communication
 
Measures of Dispersion and Variability: Range, QD, AD and SD
Measures of Dispersion and Variability: Range, QD, AD and SDMeasures of Dispersion and Variability: Range, QD, AD and SD
Measures of Dispersion and Variability: Range, QD, AD and SD
 
Sports & Fitness Value Added Course FY..
Sports & Fitness Value Added Course FY..Sports & Fitness Value Added Course FY..
Sports & Fitness Value Added Course FY..
 
A Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy ReformA Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy Reform
 
Código Creativo y Arte de Software | Unidad 1
Código Creativo y Arte de Software | Unidad 1Código Creativo y Arte de Software | Unidad 1
Código Creativo y Arte de Software | Unidad 1
 
Paris 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityParis 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activity
 
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdfBASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdf
 
microwave assisted reaction. General introduction
microwave assisted reaction. General introductionmicrowave assisted reaction. General introduction
microwave assisted reaction. General introduction
 
The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13
 
Beyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global ImpactBeyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global Impact
 
Introduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsIntroduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The Basics
 
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...
 
Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17
 
APM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across SectorsAPM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across Sectors
 

PPS PPT 2.pptx

  • 1. File Handling in C PPS PBL-II SHIVA KUMAR 21EG101A37 SRIDHAR 21EG101A53 THIRUMALESH 21EG101A22 MAHI TEJ 21EG101A63 SANDEEP 21EG101A17 VIJAY 21EG101A48 TEAM MEMBERS
  • 2. Introduction  Files are places where data can be stored permanently.  Some programs expect the same set of data to be fed as input every time it is run.  Cumbersome.  Better if the data are kept in a file, and the program reads from the file.  Programs generating large volumes of output.  Difficult to view on the screen.  Better to store them in a file for later viewing/ processing
  • 3. Introduction  Data files  When you use a file to store data for use by a program, that file usually consists of text (alphanumeric data) and is therefore called a text file.  Can be created, updated, and processed by C programs  Are used for permanent storage of large amounts of data Storage of data in variables and arrays is only temporary
  • 4. Files and Streams  C views each file as a sequence of bytes  File ends with the end-of-file marker  Stream created when a file is opened  Provide communication channel between files and programs  Opening a file returns a pointer to a FILE structure
  • 5. Basic File Operations  Opening a file  Reading data from a file  Writing data to a file  Closing a file
  • 6. Opening a File  A file must be “opened” before it can be used. FILE *fp; : fp = fopen (filename, mode);  fp is declared as a pointer to the data type FILE.  filename is a string - specifies the name of the file.  fopen returns a pointer to the file which is used in all subsequent file operations.  mode is a string which specifies the purpose of opening the file: “r” :: open the file for reading only “w” :: open the file for writing only “a” :: open the file for appending data to it
  • 7. MODES  r - open a file in read-mode, set the pointer to the beginning of the file.  w - open a file in write-mode, set the pointer to the beginning of the file.  a - open a file in write-mode, set the pointer to the end of the file.  rb - open a binary-file in read-mode, set the pointer to the beginning of the file.  wb - open a binary-file in write-mode, set the pointer to the beginning of the file.  ab - open a binary-file in write-mode, set the pointer to the end of the file.  r+ - open a file in read/write-mode, if the file does not exist, it will not be created.  w+ - open a file in read/write-mode, set the pointer to the beginning of the file.  a+ - open a file in read/append mode.  r+b - open a binary-file in read/write-mode, if the file does not exist, it will not be created.  w+b - open a binary-file in read/write-mode, set the pointer to the beginning of the file.  a+b - open a binary-file in read/append mode.
  • 8. Contd.  Points to note:  Several files may be opened at the same time.  For the “w” and “a” modes, if the named file does not exist, it is automatically created.  For the “w” mode, if the named file exists, its contents will be overwritten.
  • 9. Examples FILE *in, *out ; in = fopen (“mydata.dat”, “r”) ; out = fopen (“result.dat”, “w”); FILE *empl ; char filename[25]; scanf (“%s”, filename); empl = fopen (filename, “r”) ;
  • 10. Closing a File  After all operations on a file have been completed, it must be closed.  Ensures that all file data stored in memory buffers are properly written to the file.  General format: fclose (file_pointer) ; FILE *xyz ; xyz = fopen (“test.txt”, “w”) ; ……. fclose (xyz) ;
  • 11. Contd  fclose( FILE pointer )  Closes specified file  Performed automatically when program ends  Good practice to close files explicitly  system resources are freed.  Also, you might not find that all the information that you've written to the file has actually been written to disk until the file is closed.  feof( FILE pointer )  Returns true if end-of-file indicator (no more data to process) is set for the specified file
  • 12. Files and Streams  Read/Write functions in standard library  getc  Reads one character from a file  Takes a FILE pointer as an argument  fgetc( stdin ) equivalent to getchar()  putc  Writes one character to a file  Takes a FILE pointer and a character to write as an argument  fputc( 'a', stdout ) equivalent to putchar( 'a' )  scanf / fprintf  File processing equivalents of scanf and printf
  • 13. Read/Write Operations on Files  The simplest file input-output (I/O) function are getc and putc.  getc is used to read a character from a file and return it. char ch; FILE *fp; ….. ch = getc (fp) ;  getc will return an end-of-file marker EOF, when the end of the file has been reached.  putc is used to write a character to a file. char ch; FILE *fp; …… putc (ch, fp) ;
  • 14. Example :: convert a text file to all UPPERCASE main() { FILE *in, *out ; char c ; in = fopen (“infile.dat”, “r”) ; out = fopen (“outfile.dat”, “w”) ; while ((c = getc (in)) != EOF) putc (toupper (c), out); fclose (in) ; fclose (out) ; }
  • 15. Contd.  We can also use the file versions of scanf and printf, called fscanf and fprintf.  General format: fscanf (file_pointer, control_string, list) ; fprintf (file_pointer, control_string, list) ;  Examples: fscanf (fp, “%d %s %f”, &roll, dept_code, &cgpa) ; fprintf (out, “nThe result is: %d”, xyz) ;
  • 16. Contd. fprintf Used to print to a file It is like printf, except first argument is a FILE pointer (pointer to the file you want to print in)
  • 17. Some Points  How to check EOF condition when using fscanf?  Use the function feof if (feof (fp)) printf (“n Reached end of file”) ;  How to check successful open?  For opening in “r” mode, the file must exist. if (fp == NULL) printf (“n Unable to open file”) ;
  • 18. fread( ) and fwrite( ) size_t fread(void *buffer, size_t numbytes, size_t count, FILE *a_file); size_t fwrite(void *buffer, size_t numbytes, size_t count, FILE *a_file);  Buffer in fread is a pointer to a region of memory that will receive the data from the file. Buffer in fwrite() is a pointer to the information that will be written to the file.  The second argument is the size of the element; it is in bytes. For example, if you have an array of characters, you would want to read it in one byte chunks, so numbytes is one. You can use the sizeof operator to get the size of the various datatypes; for example, if you have a variable, int x; you can get the size of x with sizeof(x);
  • 19. Contd..  The third argument is simply how many elements you want to read or write; for example, if you pass a 100 element array  The final argument is simply the file pointer  Size_t is an unsigned integer.  fread() returns number of items read and fwrite() returns number of items written  To check to ensure the end of file was reached, use the feof function, which accepts a FILE pointer and returns true if the end of the file has been reached.
  • 20. Example: Merge two files #include <stdio.h> int main() { FILE *fileA, /* first input file */ *fileB, /* second input file */ *fileC; /* output file to be created */ int num1, /* number to be read from first file */ num2; /* number to be read from second file */ int f1, f2; /* Open files for processing */ fileA = fopen("class1.txt","r"); fileB = fopen("class2.txt","r"); fileC = fopen("class.txt","w");
  • 21. /* As long as there are numbers in both files, read and compare numbersone by one. Write the smaller number to the output file and read the next number in the file from which the smaller number is read. */ f1 = fscanf(fileA, "%d", &num1); f2 = fscanf(fileB, "%d", &num2); while ((f1!=EOF) && (f2!=EOF)){ if (num1 < num2){ fprintf(fileC,"%dn", num1); f1 = fscanf(fileA, "%d", &num1); } else if (num2 < num1) { fprintf(fileC,"%dn", num2); f2 = fscanf(fileB, "%d", &num2); } else { /* numbs are equal:read from both files */ fprintf(fileC,"%dn", num1); f1 = fscanf(fileA, "%d", &num1); f2 = fscanf(fileB, "%d", &num2); } }
  • 22. while (f1!=EOF){/* if reached end of second file, read the remaining numbers from first file and write to output file */ fprintf(fileC,"%dn", num1); f1 = fscanf(fileA, "%d", &num1); } while (f2!=EOF){ if reached the end of first file, read the remaining numbers from second file and write to output file */ fprintf(fileC,"%dn", num2); f2 = fscanf(fileB, "%d", &num2); } /* close files */ fclose(fileA); fclose(fileB); fclose(fileC); return 0; } /* end of main */
  • 23. Jaypee Institute of Information Technology University, Noida THANK YOU