SlideShare a Scribd company logo
F i l e M a n a g e m e n t
L 3 4 - L 3 5
Console oriented Input/Output
 Console oriented – use terminal (keyboard/screen)
 scanf( ) – read data from keyboard
 printf( ) – print data to monitor
 Suitable for small volumes of data!!!
 Data lost when program terminated!!!
3/11/2024 Department of CSE 2
Real-life applications
•Large data volumes
• E.g. physical experiments (human genome, population
records etc.)
•Need for flexible approach to store/retrieve data
→ Files
3/11/2024 Department of CSE 3
Files
• File – place on disc where group of related data is stored.
▫ E.g. your C++ programs, executable etc.
• High-level programming languages support various operations on files
▫ Naming
▫ Opening
▫ Reading
▫ Writing
▫ Closing
3/11/2024 Department of CSE 4
Defining and opening file
• To store data file in secondary memory (disc) it must
specify to OS:
▫ Filename (e.g. sort.c, input.data)
▫ Datastructure (e.g. FILE)
▫ Purpose (e.g. reading, writing, appending)
3/11/2024 Department of CSE 5
Filename
• String of characters that make up a valid filename for
OS
• May contain two parts
▫ Primary (name)
▫ Optional period with extension
• Examples: a.txt,
program.c,
temp,
text.out
3/11/2024 Department of CSE 6
FILE- Data structure
• FILE is user defined data type defined in stdio.h
3/11/2024 Department of CSE 7
FILE *fp; //declaration of pointer to FILE structure
Different modes: purpose
• Writing mode
▫ if file already exists then contents are deleted,
▫ else new file with specified name created
• Appending mode
▫ if file already exists then file opened with contents safe
▫ else new file created
• Reading mode
▫ if file already exists then opened with contents safe
▫ else error occurs.
3/11/2024 Department of CSE 8
FILE *p1, *p2;
p1 = fopen(“data”, “r”);
p2= fopen(“results”, “w”);
General format for opening file
• fp
▫ contains all information about file
▫ Communication link between system and program
• Mode can be
▫ r open file for reading only
▫ w open file for writing only
▫ a open file for appending (adding) data
3/11/2024 Department of CSE 9
FILE *fp; /*variable fp is pointer to type FILE*/
fp = fopen(“filename”, “mode”);
/*opens file with name filename , assigns identifier to fp */
fp is a file pointer of type FILE , this file pointer is just to store
the composite information about a file subject to manipulation.
Additional modes
•r+ open to beginning for both reading/writing
•w+ same as ‘w’ except both for reading and writing
•a+ same as ‘a’ except both for reading and writing
3/11/2024 Department of CSE 10
Closing a file
• File must be closed as soon as all operations on it is
completed.
• Ensures
▫ All outstanding information associated with file flushed out
from buffers.
▫ All links to file broken.
▫ Accidental misuse of file prevented.
• If want to change mode of file, then first close and open
again.
3/11/2024 Department of CSE 11
Closing a file
• pointer can be reused after closing.
3/11/2024 Department of CSE 12
Syntax: fclose(file_pointer);
Example:
FILE *p1, *p2;
p1 = fopen(“INPUT.txt”, “r”);
p2 =fopen(“OUTPUT.txt”, “w”);
……..
……..
fclose(p1);
fclose(p2);
Input/Output operations on files
The different functions for reading/writing are
• getc() – read a character
• putc() – write a character
• fprintf() – write set of data values
• fscanf() – read set of data values
• getw() – read integer
• putw() – write integer
3/11/2024 Department of CSE 13
getc() and putc()
• handle one character at a time like getchar() and putchar()
• syntax: putc(c,fp1);
▫ c : a character variable
▫ fp1 : pointer to file opened with mode w
• syntax: c = getc(fp2);
▫ c : a character variable
▫ fp2 : pointer to file opened with mode r
• file pointer moves by one character position after every getc()
and putc()
• getc() returns end-of-file marker EOF when file end is
reached.
• In Code::Blocks getchar(), getc() returns an integer, putchar()
and putc() takes an integer. Type cast the integer to a char.
3/11/2024 Department of CSE 14
Program to read/write using getc/putc
3/11/2024 Department of CSE 15
#include <stdio.h>
int main()
{ FILE *fp1;
char c;
fp1= fopen("INPUT", "w"); /* open file for writing */
printf("Enter contents of the file: n");
while((c=(char)getchar()) != EOF) /*get char from keyboard until CTRL-Z*/
putc((char)c,fp1); /*write a character to INPUT */
fclose(fp1); /* close INPUT */
fp1=fopen("INPUT", "r"); /* reopen file */
while((c=(char)getc(fp1))!=EOF) /*read character from file INPUT*/
printf("%c", c); /* print character to screen */
fclose(fp1);
return 0;
}
getw() and putw()
• handle one integer at a time
• syntax: putw(i,fp1);
• i : an integer variable
• fp1 : pointer to file opened with mode w
• syntax: i = getw(fp2);
• i : an integer variable
• fp2 : pointer to file opened with mode r
• file pointer moves by one integer position, data stored in binary
format native to local system
• getw() returns end-of-file marker EOF when file end reached
3/11/2024 Department of CSE 16
Using getw, putw
#include <stdio.h>
int main()
{ int i,sum=0;
FILE *f1;
/* open files */
f1 = fopen("data.bin" ,"w");
/* write integers to files in
binary and text format*/
for(i=1;i<5;i++)
putw(i,f1);
fclose(f1);
3/11/2024 Department of CSE 17
f1 = fopen("data.bin","r");
while((i=getw(f1))!=EOF)
{ sum+=i; //summation
printf(“Integer read: %d”, i);
} /* end while */
printf(“sum: %d”, sum);
fclose(f1);
}
Errors that occur during I/O
Typical errors that occur
▫ trying to read beyond end-of-file
▫ trying to use a file that has not been opened
▫ perform operation on file not permitted by ‘fopen’ mode
▫ open file with invalid filename
▫ write to write-protected file
3/11/2024 Department of CSE 18
Error handling
• given file-pointer, check if EOF reached, errors while handling file,
problems opening file etc.
• check if EOF reached: feof()
• feof() takes file-pointer as input, returns nonzero if all data read and zero
otherwise
if(feof(fp))
printf(“End of datan”);
• ferror() takes file-pointer as input, returns nonzero integer if error
detected else returns zero
if(ferror(fp) !=0)
printf(“An error has occurredn”);
3/11/2024 Department of CSE 19
Error while opening file
• if file cannot be opened then fopen() returns a NULL pointer
• Good practice to check if pointer is NULL before proceeding
fp = fopen(“input.dat”, “r”);
if (fp == NULL)
printf(“File could not be opened n ”);
3/11/2024 Department of CSE 20
Convert a text file to all UPPERCASE
3/11/2024 Department of CSE 21
int 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); // you can use any logic
fclose (in) ;
fclose (out) ;
}
Display the converted file using getc() & cout !.
Copy a file to another file
3/11/2024 Department of CSE 22
int main(){
clrscr();
FILE *p,*q;
char file1[20],file2[20];
char ch;
printf("nSource file name:“);
gets(file1);
p=fopen(file1,"r");
if(p==NULL){
printf("cannot open file %s”, file1);
return 0;
}
Copy a file to another file
3/11/2024 Department of CSE 23
printf("nDestination file name:“);
gets(file2);
q=fopen(file2,"w");
if(q==NULL){
printf("cannot open file %s”, file2);
return 0;
}
while((ch=getc(p))!=EOF)
{ putc(ch,q); // cout<<ch; [on screen]
}
printf("nCOMPLETED“);
fclose(p);
fclose(q); }
Summary
• File concept
• Operations on a file
• File Modes
• File manipulation/handling functions
3/11/2024 Department of CSE 24

More Related Content

PPT
C-Programming Chapter 5 File-handling-C.ppt
PPTX
C-Programming File-handling-C.pptx
PPTX
C-Programming File-handling-C.pptx
PPTX
File Handling in C Programming for Beginners
PPT
File handling-dutt
PPTX
PPS PPT 2.pptx
PPT
Files_in_C.ppt
PPT
C-Programming Chapter 5 File-handling-C.ppt
C-Programming Chapter 5 File-handling-C.ppt
C-Programming File-handling-C.pptx
C-Programming File-handling-C.pptx
File Handling in C Programming for Beginners
File handling-dutt
PPS PPT 2.pptx
Files_in_C.ppt
C-Programming Chapter 5 File-handling-C.ppt

Similar to Engineering Computers L34-L35-File Handling.pptx (20)

PPT
How to do file-handling - in C language
PPT
File management and handling by prabhakar
PPTX
want to learn files,then just use this ppt to learn
PPTX
Concept of file handling in c
PPTX
File in C language
PPTX
File management
PPT
File Management
PPSX
1file handling
PPTX
File Handling ppt.pptx shjd dbkd z bdjdb d
PPSX
File mangement
PPTX
File handling in c
PPT
file_handling_in_c.ppt
PPT
PPTX
Data Structure Using C - FILES
DOCX
C UNIT-5 PREPARED BY M V BRAHMANANDA REDDY
PPT
File handling in 'C'
PPT
File in c
PDF
637225560972186380.pdf
PPTX
MODULE 8-File and preprocessor.pptx for c program learners easy learning
PPTX
Unit-VI.pptx
How to do file-handling - in C language
File management and handling by prabhakar
want to learn files,then just use this ppt to learn
Concept of file handling in c
File in C language
File management
File Management
1file handling
File Handling ppt.pptx shjd dbkd z bdjdb d
File mangement
File handling in c
file_handling_in_c.ppt
Data Structure Using C - FILES
C UNIT-5 PREPARED BY M V BRAHMANANDA REDDY
File handling in 'C'
File in c
637225560972186380.pdf
MODULE 8-File and preprocessor.pptx for c program learners easy learning
Unit-VI.pptx
Ad

More from happycocoman (20)

PPTX
gas turbine cycles.pptx .
PPT
RECIPROCATING_AIR_COMPRESSOR.ppt .
PPTX
SURFACE TEXTURE 2022.pptx .
PPT
Numericals on Raciprocating air compressor.ppt
PPTX
Vapor_power cycles KM.pptx ..
PPTX
Vapor power cycles by Anupama.pptx .
PPT
Performance and Testing of Internal Combustion Engines.ppt
PPTX
ICenginesNumericals (1).pptx .
PPTX
Air standard cycles_PPT KM1.pptx .
PPTX
Pressure Measurement ppt.pptx .
PPTX
Measurements & Measurement .Systems.pptx
PPTX
Strain Measurement (NEW).pptx .
PPTX
Force and torque measurements.pptx .
PPTX
FLOW(NEW).pptx .
PDF
Chapter 11 - SCREW THREADS sllides.pdf .
PPTX
Measurement of form errors.pptx .
PDF
9. Surface Texture - PPT.pdf .
PDF
10. Screw Threads - PPT.pdf .
PDF
Measurement of Form errors complete slides.pdf
PDF
Limits Fits and Tolerances ppt.pdf .
gas turbine cycles.pptx .
RECIPROCATING_AIR_COMPRESSOR.ppt .
SURFACE TEXTURE 2022.pptx .
Numericals on Raciprocating air compressor.ppt
Vapor_power cycles KM.pptx ..
Vapor power cycles by Anupama.pptx .
Performance and Testing of Internal Combustion Engines.ppt
ICenginesNumericals (1).pptx .
Air standard cycles_PPT KM1.pptx .
Pressure Measurement ppt.pptx .
Measurements & Measurement .Systems.pptx
Strain Measurement (NEW).pptx .
Force and torque measurements.pptx .
FLOW(NEW).pptx .
Chapter 11 - SCREW THREADS sllides.pdf .
Measurement of form errors.pptx .
9. Surface Texture - PPT.pdf .
10. Screw Threads - PPT.pdf .
Measurement of Form errors complete slides.pdf
Limits Fits and Tolerances ppt.pdf .
Ad

Recently uploaded (20)

PDF
Unit I ESSENTIAL OF DIGITAL MARKETING.pdf
PPTX
6ME3A-Unit-II-Sensors and Actuators_Handouts.pptx
PPTX
Engineering Ethics, Safety and Environment [Autosaved] (1).pptx
PPTX
UNIT 4 Total Quality Management .pptx
PDF
Mohammad Mahdi Farshadian CV - Prospective PhD Student 2026
PPTX
Geodesy 1.pptx...............................................
DOCX
573137875-Attendance-Management-System-original
PDF
PREDICTION OF DIABETES FROM ELECTRONIC HEALTH RECORDS
PDF
BIO-INSPIRED HORMONAL MODULATION AND ADAPTIVE ORCHESTRATION IN S-AI-GPT
PPTX
M Tech Sem 1 Civil Engineering Environmental Sciences.pptx
PDF
Enhancing Cyber Defense Against Zero-Day Attacks using Ensemble Neural Networks
PPTX
Infosys Presentation by1.Riyan Bagwan 2.Samadhan Naiknavare 3.Gaurav Shinde 4...
PPTX
Sustainable Sites - Green Building Construction
PDF
Categorization of Factors Affecting Classification Algorithms Selection
PDF
keyrequirementskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk
PPTX
Foundation to blockchain - A guide to Blockchain Tech
PPTX
Fundamentals of safety and accident prevention -final (1).pptx
PPT
introduction to datamining and warehousing
PDF
Mitigating Risks through Effective Management for Enhancing Organizational Pe...
PDF
Artificial Superintelligence (ASI) Alliance Vision Paper.pdf
Unit I ESSENTIAL OF DIGITAL MARKETING.pdf
6ME3A-Unit-II-Sensors and Actuators_Handouts.pptx
Engineering Ethics, Safety and Environment [Autosaved] (1).pptx
UNIT 4 Total Quality Management .pptx
Mohammad Mahdi Farshadian CV - Prospective PhD Student 2026
Geodesy 1.pptx...............................................
573137875-Attendance-Management-System-original
PREDICTION OF DIABETES FROM ELECTRONIC HEALTH RECORDS
BIO-INSPIRED HORMONAL MODULATION AND ADAPTIVE ORCHESTRATION IN S-AI-GPT
M Tech Sem 1 Civil Engineering Environmental Sciences.pptx
Enhancing Cyber Defense Against Zero-Day Attacks using Ensemble Neural Networks
Infosys Presentation by1.Riyan Bagwan 2.Samadhan Naiknavare 3.Gaurav Shinde 4...
Sustainable Sites - Green Building Construction
Categorization of Factors Affecting Classification Algorithms Selection
keyrequirementskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk
Foundation to blockchain - A guide to Blockchain Tech
Fundamentals of safety and accident prevention -final (1).pptx
introduction to datamining and warehousing
Mitigating Risks through Effective Management for Enhancing Organizational Pe...
Artificial Superintelligence (ASI) Alliance Vision Paper.pdf

Engineering Computers L34-L35-File Handling.pptx

  • 1. F i l e M a n a g e m e n t L 3 4 - L 3 5
  • 2. Console oriented Input/Output  Console oriented – use terminal (keyboard/screen)  scanf( ) – read data from keyboard  printf( ) – print data to monitor  Suitable for small volumes of data!!!  Data lost when program terminated!!! 3/11/2024 Department of CSE 2
  • 3. Real-life applications •Large data volumes • E.g. physical experiments (human genome, population records etc.) •Need for flexible approach to store/retrieve data → Files 3/11/2024 Department of CSE 3
  • 4. Files • File – place on disc where group of related data is stored. ▫ E.g. your C++ programs, executable etc. • High-level programming languages support various operations on files ▫ Naming ▫ Opening ▫ Reading ▫ Writing ▫ Closing 3/11/2024 Department of CSE 4
  • 5. Defining and opening file • To store data file in secondary memory (disc) it must specify to OS: ▫ Filename (e.g. sort.c, input.data) ▫ Datastructure (e.g. FILE) ▫ Purpose (e.g. reading, writing, appending) 3/11/2024 Department of CSE 5
  • 6. Filename • String of characters that make up a valid filename for OS • May contain two parts ▫ Primary (name) ▫ Optional period with extension • Examples: a.txt, program.c, temp, text.out 3/11/2024 Department of CSE 6
  • 7. FILE- Data structure • FILE is user defined data type defined in stdio.h 3/11/2024 Department of CSE 7 FILE *fp; //declaration of pointer to FILE structure
  • 8. Different modes: purpose • Writing mode ▫ if file already exists then contents are deleted, ▫ else new file with specified name created • Appending mode ▫ if file already exists then file opened with contents safe ▫ else new file created • Reading mode ▫ if file already exists then opened with contents safe ▫ else error occurs. 3/11/2024 Department of CSE 8 FILE *p1, *p2; p1 = fopen(“data”, “r”); p2= fopen(“results”, “w”);
  • 9. General format for opening file • fp ▫ contains all information about file ▫ Communication link between system and program • Mode can be ▫ r open file for reading only ▫ w open file for writing only ▫ a open file for appending (adding) data 3/11/2024 Department of CSE 9 FILE *fp; /*variable fp is pointer to type FILE*/ fp = fopen(“filename”, “mode”); /*opens file with name filename , assigns identifier to fp */ fp is a file pointer of type FILE , this file pointer is just to store the composite information about a file subject to manipulation.
  • 10. Additional modes •r+ open to beginning for both reading/writing •w+ same as ‘w’ except both for reading and writing •a+ same as ‘a’ except both for reading and writing 3/11/2024 Department of CSE 10
  • 11. Closing a file • File must be closed as soon as all operations on it is completed. • Ensures ▫ All outstanding information associated with file flushed out from buffers. ▫ All links to file broken. ▫ Accidental misuse of file prevented. • If want to change mode of file, then first close and open again. 3/11/2024 Department of CSE 11
  • 12. Closing a file • pointer can be reused after closing. 3/11/2024 Department of CSE 12 Syntax: fclose(file_pointer); Example: FILE *p1, *p2; p1 = fopen(“INPUT.txt”, “r”); p2 =fopen(“OUTPUT.txt”, “w”); …….. …….. fclose(p1); fclose(p2);
  • 13. Input/Output operations on files The different functions for reading/writing are • getc() – read a character • putc() – write a character • fprintf() – write set of data values • fscanf() – read set of data values • getw() – read integer • putw() – write integer 3/11/2024 Department of CSE 13
  • 14. getc() and putc() • handle one character at a time like getchar() and putchar() • syntax: putc(c,fp1); ▫ c : a character variable ▫ fp1 : pointer to file opened with mode w • syntax: c = getc(fp2); ▫ c : a character variable ▫ fp2 : pointer to file opened with mode r • file pointer moves by one character position after every getc() and putc() • getc() returns end-of-file marker EOF when file end is reached. • In Code::Blocks getchar(), getc() returns an integer, putchar() and putc() takes an integer. Type cast the integer to a char. 3/11/2024 Department of CSE 14
  • 15. Program to read/write using getc/putc 3/11/2024 Department of CSE 15 #include <stdio.h> int main() { FILE *fp1; char c; fp1= fopen("INPUT", "w"); /* open file for writing */ printf("Enter contents of the file: n"); while((c=(char)getchar()) != EOF) /*get char from keyboard until CTRL-Z*/ putc((char)c,fp1); /*write a character to INPUT */ fclose(fp1); /* close INPUT */ fp1=fopen("INPUT", "r"); /* reopen file */ while((c=(char)getc(fp1))!=EOF) /*read character from file INPUT*/ printf("%c", c); /* print character to screen */ fclose(fp1); return 0; }
  • 16. getw() and putw() • handle one integer at a time • syntax: putw(i,fp1); • i : an integer variable • fp1 : pointer to file opened with mode w • syntax: i = getw(fp2); • i : an integer variable • fp2 : pointer to file opened with mode r • file pointer moves by one integer position, data stored in binary format native to local system • getw() returns end-of-file marker EOF when file end reached 3/11/2024 Department of CSE 16
  • 17. Using getw, putw #include <stdio.h> int main() { int i,sum=0; FILE *f1; /* open files */ f1 = fopen("data.bin" ,"w"); /* write integers to files in binary and text format*/ for(i=1;i<5;i++) putw(i,f1); fclose(f1); 3/11/2024 Department of CSE 17 f1 = fopen("data.bin","r"); while((i=getw(f1))!=EOF) { sum+=i; //summation printf(“Integer read: %d”, i); } /* end while */ printf(“sum: %d”, sum); fclose(f1); }
  • 18. Errors that occur during I/O Typical errors that occur ▫ trying to read beyond end-of-file ▫ trying to use a file that has not been opened ▫ perform operation on file not permitted by ‘fopen’ mode ▫ open file with invalid filename ▫ write to write-protected file 3/11/2024 Department of CSE 18
  • 19. Error handling • given file-pointer, check if EOF reached, errors while handling file, problems opening file etc. • check if EOF reached: feof() • feof() takes file-pointer as input, returns nonzero if all data read and zero otherwise if(feof(fp)) printf(“End of datan”); • ferror() takes file-pointer as input, returns nonzero integer if error detected else returns zero if(ferror(fp) !=0) printf(“An error has occurredn”); 3/11/2024 Department of CSE 19
  • 20. Error while opening file • if file cannot be opened then fopen() returns a NULL pointer • Good practice to check if pointer is NULL before proceeding fp = fopen(“input.dat”, “r”); if (fp == NULL) printf(“File could not be opened n ”); 3/11/2024 Department of CSE 20
  • 21. Convert a text file to all UPPERCASE 3/11/2024 Department of CSE 21 int 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); // you can use any logic fclose (in) ; fclose (out) ; } Display the converted file using getc() & cout !.
  • 22. Copy a file to another file 3/11/2024 Department of CSE 22 int main(){ clrscr(); FILE *p,*q; char file1[20],file2[20]; char ch; printf("nSource file name:“); gets(file1); p=fopen(file1,"r"); if(p==NULL){ printf("cannot open file %s”, file1); return 0; }
  • 23. Copy a file to another file 3/11/2024 Department of CSE 23 printf("nDestination file name:“); gets(file2); q=fopen(file2,"w"); if(q==NULL){ printf("cannot open file %s”, file2); return 0; } while((ch=getc(p))!=EOF) { putc(ch,q); // cout<<ch; [on screen] } printf("nCOMPLETED“); fclose(p); fclose(q); }
  • 24. Summary • File concept • Operations on a file • File Modes • File manipulation/handling functions 3/11/2024 Department of CSE 24