SlideShare a Scribd company logo
1
This session Outline
Files Concepts
File Programs
Busy Bee Workshop – Session IXBusy Bee Workshop – Session IX
Console oriented Input/Output
Console oriented – use terminal (keyboard/screen)
scanf(“%d”,&i) – read data from keyboard
printf(“%d”,i) – print data to monitor
Suitable for small volumes of data
Data lost when program terminated
Busy Bee Workshop – FileBusy Bee Workshop – File
Real-life applications
Large data volumes
Need for flexible approach to store/retrieve data
Concept of files
Busy Bee Workshop – FileBusy Bee Workshop – File
Files
File – place on disk where group of related data is stored
E.g. your C programs, executables
High-level programming languages support file operations
Naming
Opening
Reading
Writing
Closing
Busy Bee Workshop – FileBusy Bee Workshop – File
Defining and opening file
To store data file in secondary memory (disk) must
specify to OS
Filename (e.g. sort.c, input.data)
Data structure (e.g. FILE)
Purpose (e.g. reading, writing, appending)
Busy Bee Workshop – FileBusy Bee Workshop – File
Filename
String of characters that make up a valid filename for OS
May contain two parts
Primary
Optional period with extension
Examples: a.out, prog.c, temp, text.out
Busy Bee Workshop – FileBusy Bee Workshop – File
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
FILE *fp; /*variable fp is pointer to type FILE*/
fp = fopen(“filename”, “mode”);
/*opens file with name filename , assigns identifier to fp */
Busy Bee Workshop – FileBusy Bee Workshop – File
Different modes
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.
FILE *p1, *p2;
p1 = fopen(“data”,”r”);
p2= fopen(“results”, w”);
Busy Bee Workshop – FileBusy Bee Workshop – File
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
Busy Bee Workshop – FileBusy Bee Workshop – File
Closing a file
File must be closed as soon as all operations on it 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
Busy Bee Workshop – FileBusy Bee Workshop – File
Closing a file
pointer can be reused after closing
Syntax: fclose(file_pointer);
Example:
FILE *p1, *p2;
p1 = fopen(“INPUT.txt”, “r”);
p2 =fopen(“OUTPUT.txt”, “w”);
……..
……..
fclose(p1);
fclose(p2);
Busy Bee Workshop – FileBusy Bee Workshop – File
Input/Output operations on filesC provides several different functions for reading/writing
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
read() – read data from binary file
write() – write data into binary file
Busy Bee Workshop – FileBusy Bee Workshop – File
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
reached
Busy Bee Workshop – FileBusy Bee Workshop – File
Program to read/write using getc/putc
#include <stdio.h>
main()
{ FILE *fp1;
char c;
f1= fopen(“INPUT”, “w”); /* open file for writing */
while((c=getchar()) != EOF) /*get char from keyboard until CTL-Z*/
putc(c,f1); /*write a character to INPUT */
fclose(f1); /* close INPUT */
f1=fopen(“INPUT”, “r”); /* reopen file */
while((c=getc(f1))!=EOF) /*read character from file INPUT*/
printf(“%c”, c); /* print character to screen */
fclose(f1);
} /*end main */
Busy Bee Workshop – FileBusy Bee Workshop – File
fscanf() and fprintf()
similar to scanf() and printf()
in addition provide file-pointer
given the following
file-pointer f1 (points to file opened in write mode)
file-pointer f2 (points to file opened in read mode)
integer variable i
float variable f
Example:
fprintf(f1, “%d %fn”, i, f);
fprintf(stdout, “%f n”, f); /*note: stdout refers to screen */
fscanf(f2, “%d %f”, &i, &f);
fscanf returns EOF when end-of-file reached
Busy Bee Workshop – FileBusy Bee Workshop – File
getw() and putw()
handle one integer at a time
syntax: putw(i,fp1);
i : an integer variable
fp1 : pointer to file ipened 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
Busy Bee Workshop – FileBusy Bee Workshop – File
C program using getw, putw,fscanf, fprintf
#include <stdio.h>
main()
{ int i,sum1=0;
FILE *f1;
/* open files */
f1 = fopen("int_data.bin","w");
/* write integers to files in binary
and text format*/
for(i=10;i<15;i++) putw(i,f1);
fclose(f1);
f1 = fopen("int_data.bin","r");
while((i=getw(f1))!=EOF)
{ sum1+=i;
printf("binary file: i=%dn",i);
} /* end while getw */
printf("binary sum=%d,sum1);
fclose(f1);
}
#include <stdio.h>
main()
{ int i, sum2=0;
FILE *f2;
/* open files */
f2 = fopen("int_data.txt","w");
/* write integers to files in binary
and text format*/
for(i=10;i<15;i++) printf(f2,"%dn",i);
fclose(f2);
f2 = fopen("int_data.txt","r");
while(fscanf(f2,"%d",&i)!=EOF)
{ sum2+=i; printf("text file: i=
%dn",i);
} /*end while fscanf*/
printf("text sum=%dn",sum2);
fclose(f2);
}
Busy Bee Workshop – FileBusy Bee Workshop – File
On execution of previous Programs
binary file: i=10
binary file: i=11
binary file: i=12
binary file: i=13
binary file: i=14
binary sum=60,
text file: i=10
text file: i=11
text file: i=12
text file: i=13
text file: i=14
text sum=60
Busy Bee Workshop – FileBusy Bee Workshop – File
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
Busy Bee Workshop – FileBusy Bee Workshop – File
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”);
Busy Bee Workshop – FileBusy Bee Workshop – File
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 ”);
Busy Bee Workshop – FileBusy Bee Workshop – File
Random access to files
how to jump to a given position (byte number) in a file
without reading all the previous data?
fseek (file-pointer, offset, position);
position: 0 (beginning), 1 (current), 2 (end)
offset: number of locations to move from position
Example: fseek(fp,-m, 1); /* move back by m bytes from
current
position */
fseek(fp,m,0); /* move to (m+1)th byte in file */
fseek(fp, -10, 2); /* what is this? */
ftell(fp) returns current byte position in file
rewind(fp) resets position to start of file
Busy Bee Workshop – FileBusy Bee Workshop – File
Command line arguments
can give input to C program from command line
E.g. > prog.c 10 name1 name2
….
how to use these arguments?
main ( int argc, char *argv[] )
argc – gives a count of number of arguments (including
program name)
char *argv[] defines an array of pointers to character (or
array of strings)
argv[0] – program name
argv[1] to argv[argc -1] give the other arguments as strings
Busy Bee Workshop – FileBusy Bee Workshop – File
Example args.c
args.out 2 join leave 6
6
leave
join
2
args.out
#include <stdio.h>
main(int argc,char *argv[])
{
while(argc>0) /* print out all arguments in reverse order*/
{
printf("%sn",argv[argc-1]);
argc--;
}
}
Busy Bee Workshop – FileBusy Bee Workshop – File
File handling-c programming language
File handling-c programming language

More Related Content

What's hot

File handling in c
File handling in cFile handling in c
File handling in c
mohit biswal
 
File handling in C by Faixan
File handling in C by FaixanFile handling in C by Faixan
File handling in C by Faixan
ٖFaiXy :)
 
Module 03 File Handling in C
Module 03 File Handling in CModule 03 File Handling in C
Module 03 File Handling in C
Tushar B Kute
 
File handling-c
File handling-cFile handling-c
File Management in C
File Management in CFile Management in C
File Management in C
Paurav Shah
 
File in C Programming
File in C ProgrammingFile in C Programming
File in C Programming
Sonya Akter Rupa
 
File handling in c
File handling in c File handling in c
File handling in c
Vikash Dhal
 
File handling in 'C'
File handling in 'C'File handling in 'C'
File handling in 'C'
Gaurav Garg
 
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
Ashim Lamichhane
 
File Management
File ManagementFile Management
File Management
Ravinder Kamboj
 
File Handling and Command Line Arguments in C
File Handling and Command Line Arguments in CFile Handling and Command Line Arguments in C
File Handling and Command Line Arguments in C
Mahendra Yadav
 
Files in C
Files in CFiles in C
Files in C
Prabu U
 
C programming file handling
C  programming file handlingC  programming file handling
C programming file handling
argusacademy
 
file
filefile
file
teach4uin
 
File handling in C
File handling in CFile handling in C
File handling in C
Rabin BK
 
File_Management_in_C
File_Management_in_CFile_Management_in_C
File_Management_in_C
NabeelaNousheen
 
file management in c language
file management in c languagefile management in c language
file management in c language
chintan makwana
 
File Management in C
File Management in CFile Management in C
File Management in C
Munazza-Mah-Jabeen
 

What's hot (20)

File handling in c
File handling in cFile handling in c
File handling in c
 
File handling in c
File handling in cFile handling in c
File handling in c
 
File handling in C by Faixan
File handling in C by FaixanFile handling in C by Faixan
File handling in C by Faixan
 
Module 03 File Handling in C
Module 03 File Handling in CModule 03 File Handling in C
Module 03 File Handling in C
 
File handling-c
File handling-cFile handling-c
File handling-c
 
File Management in C
File Management in CFile Management in C
File Management in C
 
File in C Programming
File in C ProgrammingFile in C Programming
File in C Programming
 
File handling in c
File handling in c File handling in c
File handling in c
 
File handling in 'C'
File handling in 'C'File handling in 'C'
File handling in 'C'
 
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
 
File Management
File ManagementFile Management
File Management
 
File Handling and Command Line Arguments in C
File Handling and Command Line Arguments in CFile Handling and Command Line Arguments in C
File Handling and Command Line Arguments in C
 
Files in C
Files in CFiles in C
Files in C
 
C programming file handling
C  programming file handlingC  programming file handling
C programming file handling
 
File handling in c
File handling in cFile handling in c
File handling in c
 
file
filefile
file
 
File handling in C
File handling in CFile handling in C
File handling in C
 
File_Management_in_C
File_Management_in_CFile_Management_in_C
File_Management_in_C
 
file management in c language
file management in c languagefile management in c language
file management in c language
 
File Management in C
File Management in CFile Management in C
File Management in C
 

Viewers also liked

CWendland NCUR Research Paper Submission
CWendland NCUR Research Paper SubmissionCWendland NCUR Research Paper Submission
CWendland NCUR Research Paper SubmissionChristian Wendland, MHA
 
ICI final
ICI finalICI final
ICI final
Lam Yu
 
Course outline august 2015 (1)
Course outline august 2015 (1)Course outline august 2015 (1)
Course outline august 2015 (1)
Lam Yu
 
Project 2
Project 2Project 2
Project 2
Lam Yu
 
CV Wageh Khedr - pdf.
CV  Wageh Khedr - pdf.CV  Wageh Khedr - pdf.
CV Wageh Khedr - pdf.wagieh kheder
 
Essay question august2015 (1)
Essay question august2015 (1)Essay question august2015 (1)
Essay question august2015 (1)
Lam Yu
 
Master thesis Lies Polet
Master thesis Lies PoletMaster thesis Lies Polet
Master thesis Lies PoletLies Polet
 
Data type2 c
Data type2 cData type2 c
Data type2 c
thirumalaikumar3
 
Epc123 (1)
Epc123 (1)Epc123 (1)
Epc123 (1)
Lam Yu
 
Cts module outline handout 11082015_v01
Cts module outline handout 11082015_v01Cts module outline handout 11082015_v01
Cts module outline handout 11082015_v01
Lam Yu
 
32 docynormas normasapa
32 docynormas normasapa32 docynormas normasapa
32 docynormas normasapa
Angie Martinez Benavides
 
Olmedo, rodrigo. Liderazgo
Olmedo, rodrigo. LiderazgoOlmedo, rodrigo. Liderazgo
Olmedo, rodrigo. Liderazgo
Rodrigo Olmedo
 
Tutorial 4(a) (2)
Tutorial 4(a) (2)Tutorial 4(a) (2)
Tutorial 4(a) (2)
Lam Yu
 
Johns Hopkins 2016 MHA Case Competition
Johns Hopkins 2016 MHA Case CompetitionJohns Hopkins 2016 MHA Case Competition
Johns Hopkins 2016 MHA Case Competition
Christian Wendland, MHA
 
Ilmu Pengetahuan
Ilmu PengetahuanIlmu Pengetahuan
Ilmu Pengetahuan
rennijuliyanna
 
Drawing project 1 july 2015_integration (1)
Drawing project 1 july 2015_integration (1)Drawing project 1 july 2015_integration (1)
Drawing project 1 july 2015_integration (1)
Lam Yu
 
Introduction
IntroductionIntroduction
Introduction
Lam Yu
 
Drawing final project studio unit living_july 2015
Drawing final project studio unit living_july 2015Drawing final project studio unit living_july 2015
Drawing final project studio unit living_july 2015
Lam Yu
 
Tutorial 4(b)
Tutorial 4(b)Tutorial 4(b)
Tutorial 4(b)
Lam Yu
 
Pola dan barisan bilangan
Pola dan barisan bilanganPola dan barisan bilangan
Pola dan barisan bilangan
rennijuliyanna
 

Viewers also liked (20)

CWendland NCUR Research Paper Submission
CWendland NCUR Research Paper SubmissionCWendland NCUR Research Paper Submission
CWendland NCUR Research Paper Submission
 
ICI final
ICI finalICI final
ICI final
 
Course outline august 2015 (1)
Course outline august 2015 (1)Course outline august 2015 (1)
Course outline august 2015 (1)
 
Project 2
Project 2Project 2
Project 2
 
CV Wageh Khedr - pdf.
CV  Wageh Khedr - pdf.CV  Wageh Khedr - pdf.
CV Wageh Khedr - pdf.
 
Essay question august2015 (1)
Essay question august2015 (1)Essay question august2015 (1)
Essay question august2015 (1)
 
Master thesis Lies Polet
Master thesis Lies PoletMaster thesis Lies Polet
Master thesis Lies Polet
 
Data type2 c
Data type2 cData type2 c
Data type2 c
 
Epc123 (1)
Epc123 (1)Epc123 (1)
Epc123 (1)
 
Cts module outline handout 11082015_v01
Cts module outline handout 11082015_v01Cts module outline handout 11082015_v01
Cts module outline handout 11082015_v01
 
32 docynormas normasapa
32 docynormas normasapa32 docynormas normasapa
32 docynormas normasapa
 
Olmedo, rodrigo. Liderazgo
Olmedo, rodrigo. LiderazgoOlmedo, rodrigo. Liderazgo
Olmedo, rodrigo. Liderazgo
 
Tutorial 4(a) (2)
Tutorial 4(a) (2)Tutorial 4(a) (2)
Tutorial 4(a) (2)
 
Johns Hopkins 2016 MHA Case Competition
Johns Hopkins 2016 MHA Case CompetitionJohns Hopkins 2016 MHA Case Competition
Johns Hopkins 2016 MHA Case Competition
 
Ilmu Pengetahuan
Ilmu PengetahuanIlmu Pengetahuan
Ilmu Pengetahuan
 
Drawing project 1 july 2015_integration (1)
Drawing project 1 july 2015_integration (1)Drawing project 1 july 2015_integration (1)
Drawing project 1 july 2015_integration (1)
 
Introduction
IntroductionIntroduction
Introduction
 
Drawing final project studio unit living_july 2015
Drawing final project studio unit living_july 2015Drawing final project studio unit living_july 2015
Drawing final project studio unit living_july 2015
 
Tutorial 4(b)
Tutorial 4(b)Tutorial 4(b)
Tutorial 4(b)
 
Pola dan barisan bilangan
Pola dan barisan bilanganPola dan barisan bilangan
Pola dan barisan bilangan
 

Similar to File handling-c programming language

Files_in_C.ppt
Files_in_C.pptFiles_in_C.ppt
Files_in_C.ppt
kasthurimukila
 
File management and handling by prabhakar
File management and handling by prabhakarFile management and handling by prabhakar
File management and handling by prabhakar
PrabhakarPremUpreti
 
File handling-dutt
File handling-duttFile handling-dutt
File handling-dutt
Anil Dutt
 
PPS PPT 2.pptx
PPS PPT 2.pptxPPS PPT 2.pptx
PPS PPT 2.pptx
Sandeepbhuma1
 
Lecture 20 - File Handling
Lecture 20 - File HandlingLecture 20 - File Handling
Lecture 20 - File Handling
Md. Imran Hossain Showrov
 
File Handling in C Programming for Beginners
File Handling in C Programming for BeginnersFile Handling in C Programming for Beginners
File Handling in C Programming for Beginners
VSKAMCSPSGCT
 
C-Programming Chapter 5 File-handling-C.ppt
C-Programming Chapter 5 File-handling-C.pptC-Programming Chapter 5 File-handling-C.ppt
C-Programming Chapter 5 File-handling-C.ppt
ssuserad38541
 
file_handling_in_c.ppt
file_handling_in_c.pptfile_handling_in_c.ppt
file_handling_in_c.ppt
yuvrajkeshri
 
file_handling_in_c.ppt
file_handling_in_c.pptfile_handling_in_c.ppt
file_handling_in_c.ppt
DHARUNESHBOOPATHY
 
File management
File managementFile management
File management
lalithambiga kamaraj
 
Engineering Computers L34-L35-File Handling.pptx
Engineering Computers L34-L35-File Handling.pptxEngineering Computers L34-L35-File Handling.pptx
Engineering Computers L34-L35-File Handling.pptx
happycocoman
 
C-Programming File-handling-C.pptx
C-Programming  File-handling-C.pptxC-Programming  File-handling-C.pptx
C-Programming File-handling-C.pptx
LECO9
 
C-Programming File-handling-C.pptx
C-Programming  File-handling-C.pptxC-Programming  File-handling-C.pptx
C-Programming File-handling-C.pptx
SKUP1
 
C-FILE MANAGEMENT.pptx
C-FILE MANAGEMENT.pptxC-FILE MANAGEMENT.pptx
C-FILE MANAGEMENT.pptx
banu236831
 
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
sangeeta borde
 
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
sudhakargeruganti
 

Similar to File handling-c programming language (20)

Files_in_C.ppt
Files_in_C.pptFiles_in_C.ppt
Files_in_C.ppt
 
File management and handling by prabhakar
File management and handling by prabhakarFile management and handling by prabhakar
File management and handling by prabhakar
 
1file handling
1file handling1file handling
1file handling
 
File handling-dutt
File handling-duttFile handling-dutt
File handling-dutt
 
PPS PPT 2.pptx
PPS PPT 2.pptxPPS PPT 2.pptx
PPS PPT 2.pptx
 
Lecture 20 - File Handling
Lecture 20 - File HandlingLecture 20 - File Handling
Lecture 20 - File Handling
 
File Handling in C Programming for Beginners
File Handling in C Programming for BeginnersFile Handling in C Programming for Beginners
File Handling in C Programming for Beginners
 
C-Programming Chapter 5 File-handling-C.ppt
C-Programming Chapter 5 File-handling-C.pptC-Programming Chapter 5 File-handling-C.ppt
C-Programming Chapter 5 File-handling-C.ppt
 
Unit5
Unit5Unit5
Unit5
 
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
 
14. fiile io
14. fiile io14. fiile io
14. fiile io
 
Engineering Computers L34-L35-File Handling.pptx
Engineering Computers L34-L35-File Handling.pptxEngineering Computers L34-L35-File Handling.pptx
Engineering Computers L34-L35-File Handling.pptx
 
C-Programming File-handling-C.pptx
C-Programming  File-handling-C.pptxC-Programming  File-handling-C.pptx
C-Programming File-handling-C.pptx
 
C-Programming File-handling-C.pptx
C-Programming  File-handling-C.pptxC-Programming  File-handling-C.pptx
C-Programming File-handling-C.pptx
 
C-FILE MANAGEMENT.pptx
C-FILE MANAGEMENT.pptxC-FILE MANAGEMENT.pptx
C-FILE MANAGEMENT.pptx
 
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
 
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
 
Unit 8
Unit 8Unit 8
Unit 8
 

More from thirumalaikumar3

Data type in c
Data type in cData type in c
Data type in c
thirumalaikumar3
 
Control flow in c
Control flow in cControl flow in c
Control flow in c
thirumalaikumar3
 
C function
C functionC function
C function
thirumalaikumar3
 
Coper in C
Coper in CCoper in C
Coper in C
thirumalaikumar3
 
C basics
C   basicsC   basics
Structure c
Structure cStructure c
Structure c
thirumalaikumar3
 
String c
String cString c

More from thirumalaikumar3 (7)

Data type in c
Data type in cData type in c
Data type in c
 
Control flow in c
Control flow in cControl flow in c
Control flow in c
 
C function
C functionC function
C function
 
Coper in C
Coper in CCoper in C
Coper in C
 
C basics
C   basicsC   basics
C basics
 
Structure c
Structure cStructure c
Structure c
 
String c
String cString c
String c
 

Recently uploaded

Digital Artifact 1 - 10VCD Environments Unit
Digital Artifact 1 - 10VCD Environments UnitDigital Artifact 1 - 10VCD Environments Unit
Digital Artifact 1 - 10VCD Environments Unit
chanes7
 
Best Digital Marketing Institute In NOIDA
Best Digital Marketing Institute In NOIDABest Digital Marketing Institute In NOIDA
Best Digital Marketing Institute In NOIDA
deeptiverma2406
 
Exploiting Artificial Intelligence for Empowering Researchers and Faculty, In...
Exploiting Artificial Intelligence for Empowering Researchers and Faculty, In...Exploiting Artificial Intelligence for Empowering Researchers and Faculty, In...
Exploiting Artificial Intelligence for Empowering Researchers and Faculty, In...
Dr. Vinod Kumar Kanvaria
 
Top five deadliest dog breeds in America
Top five deadliest dog breeds in AmericaTop five deadliest dog breeds in America
Top five deadliest dog breeds in America
Bisnar Chase Personal Injury Attorneys
 
The Challenger.pdf DNHS Official Publication
The Challenger.pdf DNHS Official PublicationThe Challenger.pdf DNHS Official Publication
The Challenger.pdf DNHS Official Publication
Delapenabediema
 
Acetabularia Information For Class 9 .docx
Acetabularia Information For Class 9  .docxAcetabularia Information For Class 9  .docx
Acetabularia Information For Class 9 .docx
vaibhavrinwa19
 
PCOS corelations and management through Ayurveda.
PCOS corelations and management through Ayurveda.PCOS corelations and management through Ayurveda.
PCOS corelations and management through Ayurveda.
Dr. Shivangi Singh Parihar
 
Azure Interview Questions and Answers PDF By ScholarHat
Azure Interview Questions and Answers PDF By ScholarHatAzure Interview Questions and Answers PDF By ScholarHat
Azure Interview Questions and Answers PDF By ScholarHat
Scholarhat
 
Chapter 4 - Islamic Financial Institutions in Malaysia.pptx
Chapter 4 - Islamic Financial Institutions in Malaysia.pptxChapter 4 - Islamic Financial Institutions in Malaysia.pptx
Chapter 4 - Islamic Financial Institutions in Malaysia.pptx
Mohd Adib Abd Muin, Senior Lecturer at Universiti Utara Malaysia
 
June 3, 2024 Anti-Semitism Letter Sent to MIT President Kornbluth and MIT Cor...
June 3, 2024 Anti-Semitism Letter Sent to MIT President Kornbluth and MIT Cor...June 3, 2024 Anti-Semitism Letter Sent to MIT President Kornbluth and MIT Cor...
June 3, 2024 Anti-Semitism Letter Sent to MIT President Kornbluth and MIT Cor...
Levi Shapiro
 
S1-Introduction-Biopesticides in ICM.pptx
S1-Introduction-Biopesticides in ICM.pptxS1-Introduction-Biopesticides in ICM.pptx
S1-Introduction-Biopesticides in ICM.pptx
tarandeep35
 
DRUGS AND ITS classification slide share
DRUGS AND ITS classification slide shareDRUGS AND ITS classification slide share
DRUGS AND ITS classification slide share
taiba qazi
 
Introduction to AI for Nonprofits with Tapp Network
Introduction to AI for Nonprofits with Tapp NetworkIntroduction to AI for Nonprofits with Tapp Network
Introduction to AI for Nonprofits with Tapp Network
TechSoup
 
Delivering Micro-Credentials in Technical and Vocational Education and Training
Delivering Micro-Credentials in Technical and Vocational Education and TrainingDelivering Micro-Credentials in Technical and Vocational Education and Training
Delivering Micro-Credentials in Technical and Vocational Education and Training
AG2 Design
 
Unit 8 - Information and Communication Technology (Paper I).pdf
Unit 8 - Information and Communication Technology (Paper I).pdfUnit 8 - Information and Communication Technology (Paper I).pdf
Unit 8 - Information and Communication Technology (Paper I).pdf
Thiyagu K
 
Unit 2- Research Aptitude (UGC NET Paper I).pdf
Unit 2- Research Aptitude (UGC NET Paper I).pdfUnit 2- Research Aptitude (UGC NET Paper I).pdf
Unit 2- Research Aptitude (UGC NET Paper I).pdf
Thiyagu K
 
How to Add Chatter in the odoo 17 ERP Module
How to Add Chatter in the odoo 17 ERP ModuleHow to Add Chatter in the odoo 17 ERP Module
How to Add Chatter in the odoo 17 ERP Module
Celine George
 
A Strategic Approach: GenAI in Education
A Strategic Approach: GenAI in EducationA Strategic Approach: GenAI in Education
A Strategic Approach: GenAI in Education
Peter Windle
 
PIMS Job Advertisement 2024.pdf Islamabad
PIMS Job Advertisement 2024.pdf IslamabadPIMS Job Advertisement 2024.pdf Islamabad
PIMS Job Advertisement 2024.pdf Islamabad
AyyanKhan40
 
How to Build a Module in Odoo 17 Using the Scaffold Method
How to Build a Module in Odoo 17 Using the Scaffold MethodHow to Build a Module in Odoo 17 Using the Scaffold Method
How to Build a Module in Odoo 17 Using the Scaffold Method
Celine George
 

Recently uploaded (20)

Digital Artifact 1 - 10VCD Environments Unit
Digital Artifact 1 - 10VCD Environments UnitDigital Artifact 1 - 10VCD Environments Unit
Digital Artifact 1 - 10VCD Environments Unit
 
Best Digital Marketing Institute In NOIDA
Best Digital Marketing Institute In NOIDABest Digital Marketing Institute In NOIDA
Best Digital Marketing Institute In NOIDA
 
Exploiting Artificial Intelligence for Empowering Researchers and Faculty, In...
Exploiting Artificial Intelligence for Empowering Researchers and Faculty, In...Exploiting Artificial Intelligence for Empowering Researchers and Faculty, In...
Exploiting Artificial Intelligence for Empowering Researchers and Faculty, In...
 
Top five deadliest dog breeds in America
Top five deadliest dog breeds in AmericaTop five deadliest dog breeds in America
Top five deadliest dog breeds in America
 
The Challenger.pdf DNHS Official Publication
The Challenger.pdf DNHS Official PublicationThe Challenger.pdf DNHS Official Publication
The Challenger.pdf DNHS Official Publication
 
Acetabularia Information For Class 9 .docx
Acetabularia Information For Class 9  .docxAcetabularia Information For Class 9  .docx
Acetabularia Information For Class 9 .docx
 
PCOS corelations and management through Ayurveda.
PCOS corelations and management through Ayurveda.PCOS corelations and management through Ayurveda.
PCOS corelations and management through Ayurveda.
 
Azure Interview Questions and Answers PDF By ScholarHat
Azure Interview Questions and Answers PDF By ScholarHatAzure Interview Questions and Answers PDF By ScholarHat
Azure Interview Questions and Answers PDF By ScholarHat
 
Chapter 4 - Islamic Financial Institutions in Malaysia.pptx
Chapter 4 - Islamic Financial Institutions in Malaysia.pptxChapter 4 - Islamic Financial Institutions in Malaysia.pptx
Chapter 4 - Islamic Financial Institutions in Malaysia.pptx
 
June 3, 2024 Anti-Semitism Letter Sent to MIT President Kornbluth and MIT Cor...
June 3, 2024 Anti-Semitism Letter Sent to MIT President Kornbluth and MIT Cor...June 3, 2024 Anti-Semitism Letter Sent to MIT President Kornbluth and MIT Cor...
June 3, 2024 Anti-Semitism Letter Sent to MIT President Kornbluth and MIT Cor...
 
S1-Introduction-Biopesticides in ICM.pptx
S1-Introduction-Biopesticides in ICM.pptxS1-Introduction-Biopesticides in ICM.pptx
S1-Introduction-Biopesticides in ICM.pptx
 
DRUGS AND ITS classification slide share
DRUGS AND ITS classification slide shareDRUGS AND ITS classification slide share
DRUGS AND ITS classification slide share
 
Introduction to AI for Nonprofits with Tapp Network
Introduction to AI for Nonprofits with Tapp NetworkIntroduction to AI for Nonprofits with Tapp Network
Introduction to AI for Nonprofits with Tapp Network
 
Delivering Micro-Credentials in Technical and Vocational Education and Training
Delivering Micro-Credentials in Technical and Vocational Education and TrainingDelivering Micro-Credentials in Technical and Vocational Education and Training
Delivering Micro-Credentials in Technical and Vocational Education and Training
 
Unit 8 - Information and Communication Technology (Paper I).pdf
Unit 8 - Information and Communication Technology (Paper I).pdfUnit 8 - Information and Communication Technology (Paper I).pdf
Unit 8 - Information and Communication Technology (Paper I).pdf
 
Unit 2- Research Aptitude (UGC NET Paper I).pdf
Unit 2- Research Aptitude (UGC NET Paper I).pdfUnit 2- Research Aptitude (UGC NET Paper I).pdf
Unit 2- Research Aptitude (UGC NET Paper I).pdf
 
How to Add Chatter in the odoo 17 ERP Module
How to Add Chatter in the odoo 17 ERP ModuleHow to Add Chatter in the odoo 17 ERP Module
How to Add Chatter in the odoo 17 ERP Module
 
A Strategic Approach: GenAI in Education
A Strategic Approach: GenAI in EducationA Strategic Approach: GenAI in Education
A Strategic Approach: GenAI in Education
 
PIMS Job Advertisement 2024.pdf Islamabad
PIMS Job Advertisement 2024.pdf IslamabadPIMS Job Advertisement 2024.pdf Islamabad
PIMS Job Advertisement 2024.pdf Islamabad
 
How to Build a Module in Odoo 17 Using the Scaffold Method
How to Build a Module in Odoo 17 Using the Scaffold MethodHow to Build a Module in Odoo 17 Using the Scaffold Method
How to Build a Module in Odoo 17 Using the Scaffold Method
 

File handling-c programming language

  • 1. 1 This session Outline Files Concepts File Programs Busy Bee Workshop – Session IXBusy Bee Workshop – Session IX
  • 2. Console oriented Input/Output Console oriented – use terminal (keyboard/screen) scanf(“%d”,&i) – read data from keyboard printf(“%d”,i) – print data to monitor Suitable for small volumes of data Data lost when program terminated Busy Bee Workshop – FileBusy Bee Workshop – File
  • 3. Real-life applications Large data volumes Need for flexible approach to store/retrieve data Concept of files Busy Bee Workshop – FileBusy Bee Workshop – File
  • 4. Files File – place on disk where group of related data is stored E.g. your C programs, executables High-level programming languages support file operations Naming Opening Reading Writing Closing Busy Bee Workshop – FileBusy Bee Workshop – File
  • 5. Defining and opening file To store data file in secondary memory (disk) must specify to OS Filename (e.g. sort.c, input.data) Data structure (e.g. FILE) Purpose (e.g. reading, writing, appending) Busy Bee Workshop – FileBusy Bee Workshop – File
  • 6. Filename String of characters that make up a valid filename for OS May contain two parts Primary Optional period with extension Examples: a.out, prog.c, temp, text.out Busy Bee Workshop – FileBusy Bee Workshop – File
  • 7. 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 FILE *fp; /*variable fp is pointer to type FILE*/ fp = fopen(“filename”, “mode”); /*opens file with name filename , assigns identifier to fp */ Busy Bee Workshop – FileBusy Bee Workshop – File
  • 8. Different modes 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. FILE *p1, *p2; p1 = fopen(“data”,”r”); p2= fopen(“results”, w”); Busy Bee Workshop – FileBusy Bee Workshop – File
  • 9. 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 Busy Bee Workshop – FileBusy Bee Workshop – File
  • 10. Closing a file File must be closed as soon as all operations on it 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 Busy Bee Workshop – FileBusy Bee Workshop – File
  • 11. Closing a file pointer can be reused after closing Syntax: fclose(file_pointer); Example: FILE *p1, *p2; p1 = fopen(“INPUT.txt”, “r”); p2 =fopen(“OUTPUT.txt”, “w”); …….. …….. fclose(p1); fclose(p2); Busy Bee Workshop – FileBusy Bee Workshop – File
  • 12. Input/Output operations on filesC provides several different functions for reading/writing 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 read() – read data from binary file write() – write data into binary file Busy Bee Workshop – FileBusy Bee Workshop – File
  • 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 reached Busy Bee Workshop – FileBusy Bee Workshop – File
  • 14. Program to read/write using getc/putc #include <stdio.h> main() { FILE *fp1; char c; f1= fopen(“INPUT”, “w”); /* open file for writing */ while((c=getchar()) != EOF) /*get char from keyboard until CTL-Z*/ putc(c,f1); /*write a character to INPUT */ fclose(f1); /* close INPUT */ f1=fopen(“INPUT”, “r”); /* reopen file */ while((c=getc(f1))!=EOF) /*read character from file INPUT*/ printf(“%c”, c); /* print character to screen */ fclose(f1); } /*end main */ Busy Bee Workshop – FileBusy Bee Workshop – File
  • 15. fscanf() and fprintf() similar to scanf() and printf() in addition provide file-pointer given the following file-pointer f1 (points to file opened in write mode) file-pointer f2 (points to file opened in read mode) integer variable i float variable f Example: fprintf(f1, “%d %fn”, i, f); fprintf(stdout, “%f n”, f); /*note: stdout refers to screen */ fscanf(f2, “%d %f”, &i, &f); fscanf returns EOF when end-of-file reached Busy Bee Workshop – FileBusy Bee Workshop – File
  • 16. getw() and putw() handle one integer at a time syntax: putw(i,fp1); i : an integer variable fp1 : pointer to file ipened 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 Busy Bee Workshop – FileBusy Bee Workshop – File
  • 17. C program using getw, putw,fscanf, fprintf #include <stdio.h> main() { int i,sum1=0; FILE *f1; /* open files */ f1 = fopen("int_data.bin","w"); /* write integers to files in binary and text format*/ for(i=10;i<15;i++) putw(i,f1); fclose(f1); f1 = fopen("int_data.bin","r"); while((i=getw(f1))!=EOF) { sum1+=i; printf("binary file: i=%dn",i); } /* end while getw */ printf("binary sum=%d,sum1); fclose(f1); } #include <stdio.h> main() { int i, sum2=0; FILE *f2; /* open files */ f2 = fopen("int_data.txt","w"); /* write integers to files in binary and text format*/ for(i=10;i<15;i++) printf(f2,"%dn",i); fclose(f2); f2 = fopen("int_data.txt","r"); while(fscanf(f2,"%d",&i)!=EOF) { sum2+=i; printf("text file: i= %dn",i); } /*end while fscanf*/ printf("text sum=%dn",sum2); fclose(f2); } Busy Bee Workshop – FileBusy Bee Workshop – File
  • 18. On execution of previous Programs binary file: i=10 binary file: i=11 binary file: i=12 binary file: i=13 binary file: i=14 binary sum=60, text file: i=10 text file: i=11 text file: i=12 text file: i=13 text file: i=14 text sum=60 Busy Bee Workshop – FileBusy Bee Workshop – File
  • 19. 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 Busy Bee Workshop – FileBusy Bee Workshop – File
  • 20. 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”); Busy Bee Workshop – FileBusy Bee Workshop – File
  • 21. 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 ”); Busy Bee Workshop – FileBusy Bee Workshop – File
  • 22. Random access to files how to jump to a given position (byte number) in a file without reading all the previous data? fseek (file-pointer, offset, position); position: 0 (beginning), 1 (current), 2 (end) offset: number of locations to move from position Example: fseek(fp,-m, 1); /* move back by m bytes from current position */ fseek(fp,m,0); /* move to (m+1)th byte in file */ fseek(fp, -10, 2); /* what is this? */ ftell(fp) returns current byte position in file rewind(fp) resets position to start of file Busy Bee Workshop – FileBusy Bee Workshop – File
  • 23. Command line arguments can give input to C program from command line E.g. > prog.c 10 name1 name2 …. how to use these arguments? main ( int argc, char *argv[] ) argc – gives a count of number of arguments (including program name) char *argv[] defines an array of pointers to character (or array of strings) argv[0] – program name argv[1] to argv[argc -1] give the other arguments as strings Busy Bee Workshop – FileBusy Bee Workshop – File
  • 24. Example args.c args.out 2 join leave 6 6 leave join 2 args.out #include <stdio.h> main(int argc,char *argv[]) { while(argc>0) /* print out all arguments in reverse order*/ { printf("%sn",argv[argc-1]); argc--; } } Busy Bee Workshop – FileBusy Bee Workshop – File