SlideShare a Scribd company logo
File Handling




January 5, 2013   Programming and   1
File handling in C

• In C we use FILE * to represent a pointer to a file.
• fopen is used to open a file. It returns the special
  value NULL to indicate that it couldn't open the file.



       FILE *fptr;
       char filename[]= "file2.dat";
       fptr= fopen (filename,"w");
       if (fptr == NULL) {
         printf (“ERROR IN FILE CREATION”);
           /* DO SOMETHING */
       }

January 5, 2013    Programming and           2
Modes for opening files

• The second argument of fopen is the mode in
  which we open the file. There are three
• "r" opens a file for reading
• "w" creates a file for writing - and writes over
  all previous contents (deletes the file so be
  careful!)
• "a" opens a file for appending - writing on the
  end of the file
• “rb” read binary file (raw bytes)
• “wb” write binary file

January 5, 2013   Programming and      3
The exit() function
• Sometimes error checking means we want an
  "emergency exit" from a program. We want it
  to stop dead.
• In main we can use "return" to stop.
• In functions we can use exit to do this.
• Exit is part of the stdlib.h library

    exit(-1);
     in a function is exactly the same as
    return -1;
     in the main routine
January 5, 2013    Programming and      4
Usage of exit( )

FILE *fptr;
char filename[]= "file2.dat";
fptr= fopen (filename,"w");
if (fptr == NULL) {
  printf (“ERROR IN FILE CREATION”);
/* Do something */
    exit(-1);
}

January 5, 2013   Programming and    5
Writing to a file using fprintf( )

• fprintf( ) works just like printf and sprintf
  except that its first argument is a file pointer.

    FILE *fptr;
    fptr= fopen ("file.dat","w");
    /* Check it's open */
    fprintf (fptr,"Hello World!n");




January 5, 2013     Programming and      6
Reading Data Using fscanf( )
•We also read data from a file using fscanf( ).

FILE *fptr;
                                        input.dat
fptr= fopen (“input.dat”,“r”);
/* Check it's open */
                                          20 30
if (fptr==NULL)
  {
    printf(“Error in opening file n”);
   }
                                           x=20
fscanf(fptr,“%d%d”,&x,&y);                 y=30

January 5, 2013   Programming and             7
Reading lines from a file using fgets( )
We can read a string using fgets ( ).
 FILE *fptr;
 char line [1000];
 /* Open file and check it is open */
 while (fgets(line,1000,fptr) != NULL) {
   printf ("Read line %sn",line);
 }

fgets( ) takes 3 arguments, a string, a maximum
number of characters to read and a file pointer.
It returns NULL if there is an error (such as EOF).

January 5, 2013   Programming and          8
Closing a file

• We can close a file simply using fclose( ) and
  the file pointer.

FILE *fptr;
char filename[]= "myfile.dat";
fptr= fopen (filename,"w");
if (fptr == NULL) {                           Opening
   printf ("Cannot open file to write!n");
   exit(-1);
}
fprintf (fptr,"Hello World of filing!n");      Access
fclose (fptr);
         closing
January 5, 2013      Programming and             9
Three special streams
• Three special file streams are defined in the
  <stdio.h> header
• stdin reads input from the keyboard
• stdout send output to the screen
• stderr prints errors to an error device
  (usually also the screen)
• What might this do?
  fprintf (stdout,"Hello World!n");




January 5, 2013     Programming and       10
An example program
              Give value of i
      #include <stdio.h>
              15
      main() Value of i=15
      {       No error: But an example to show error message.
       int i;

       fprintf(stdout,"Give value of i n");
       fscanf(stdin,"%d",&i);
                                             Display on
       fprintf(stdout,"Value of i=%d n",i);
                                             The screen
       fprintf(stderr,"No error: But an example to
       show error message.n");
       }


January 5, 2013   Programming and            11
Input File & Output File redirection

  • One may redirect the input and output files to
    other files (other than stdin and stdout).
  • Usage: Suppose the executable file is a.out
          $ ./a.out <in.dat >out.dat

              No error: But an example to show error message.

                Give value of i        Display
 15             Value of i=15          screen

in.dat              out.dat
  January 5, 2013    Programming and         12
Reading and Writing a character

• A character reading/writing is equivalent to
  reading/writing a byte.
      int getchar( );
      int fgetc(FILE *fp);
      int putchar(int c);
      int fputc(int c, FILE *fp);
• Example:
    char c;
    c=getchar( );
    putchar(c);
January 5, 2013   Programming and     13
Example: use of getchar() and putchar()

#include <stdio.h>
main()
{
 int c;

printf("Type text and press return to see it again n");
printf("For exiting press <CTRL D> n");
while((c=getchar( ))!=EOF) putchar(c);
}

                        End of file
  January 5, 2013    Programming and     14
Command Line Arguments

• Command line arguments may be passed by
  specifying them under main( ).

    int main(int argc, char *argv[ ]);

              Argument
               Count      Array of Strings
                          as command line
                          arguments including
                          the command itself.


January 5, 2013   Programming and        15
Example: Reading command line arguments

  #include <stdio.h>
  #include <string.h>

  int main(int argc,char *argv[])
  {
  FILE *ifp,*ofp;
  int i,c;
  char src_file[100],dst_file[100];

   if(argc!=3){
    printf("Usage: ./a.out <src_file> <dst_file> n");
    exit(0);
    }
   else{
       strcpy(src_file,argv[1]);
      strcpy(dst_file,argv[2]);
    }
January 5, 2013         Programming and                  16
Example: Contd.
if((ifp=fopen(src_file,"r"))==NULL)
{
 printf("File does not exist.n");       ./a.out s.dat d.dat
 exit(0);
 }
if((ofp=fopen(dst_file,"w"))==NULL)     argc=3
{
 printf("File not created.n");
 exit(0);                                               ./a.out
 }                                    argv               s.dat
 while((c=getc(ifp))!=EOF){
 putc(c,ofp);
                                                         d.dat
 }
 fclose(ifp);
 fclose(ofp);
}

January 5, 2013    Programming and               17
Getting numbers from strings
• Once we've got a string with a number in it
  (either from a file or from the user typing) we
  can use atoi or atof to convert it to a
  number
• The functions are part of stdlib.h
    char numberstring[]= "3.14";
    int i;
    double pi;
    pi= atof (numberstring);
    i= atoi ("12");
Both of these functions return 0 if they have a problem
January 5, 2013    Programming and             18
Example: Averaging from Command Line
#include <stdio.h>
#include <stdlib.h>                   $ ./a.out 45 239 123

int main(int argc,char *argv[])
                                     Average=135.666667
{
  float sum=0;
  int i,num;

     num=argc-1;
    for(i=1;i<=num;i++)
     sum+=atof(argv[i]);
    printf("Average=%f n",sum/(float) num);
}

January 5, 2013    Programming and             19

More Related Content

PPSX
C programming file handling
PDF
Module 03 File Handling in C
PPT
File handling in c
PPTX
File handling in c language
PPT
File handling in 'C'
PPTX
File handling in c
PPT
File handling-dutt
PDF
14. fiile io
C programming file handling
Module 03 File Handling in C
File handling in c
File handling in c language
File handling in 'C'
File handling in c
File handling-dutt
14. fiile io

What's hot (19)

PPT
7.0 files and c input
DOCX
Understanding c file handling functions with examples
PDF
Shortcuts JAVA
PPT
File in c
PPT
File handling-c programming language
DOCX
Satz1
PPTX
File handling in C
PPTX
File in C language
PPTX
File Management in C
PPTX
Programming in C
PPTX
File handling in C
PPT
Unit5
DOCX
C UNIT-5 PREPARED BY M V BRAHMANANDA REDDY
PPT
PPT
File handling in c
PDF
C Programming Project
PPT
File Management
PPT
C Language Unit-5
7.0 files and c input
Understanding c file handling functions with examples
Shortcuts JAVA
File in c
File handling-c programming language
Satz1
File handling in C
File in C language
File Management in C
Programming in C
File handling in C
Unit5
C UNIT-5 PREPARED BY M V BRAHMANANDA REDDY
File handling in c
C Programming Project
File Management
C Language Unit-5
Ad

Similar to L8 file (20)

PPTX
Lecturer notes on file handling in programming C
PPT
File handling(some slides only)
PPS
C programming session 11
PDF
Chapter 13.1.10
PPT
file.ppt
PDF
File Handling in C Programming
PPT
File_Handling in C.ppt
PDF
637225560972186380.pdf
PPT
File_Handling in C.ppt
PDF
ppt5-190810161800 (1).pdf
PPTX
want to learn files,then just use this ppt to learn
PPT
WK-12-13-file f classs 12 computer science from kv.
PPTX
File Handling in C Programming for Beginners
PPTX
C Programming Unit-5
PPT
C-Programming Chapter 5 File-handling-C.ppt
PPT
CInputOutput.ppt
PPT
How to do file-handling - in C language
PPSX
1file handling
PPTX
File Handling ppt.pptx shjd dbkd z bdjdb d
PPT
C-Programming Chapter 5 File-handling-C.ppt
Lecturer notes on file handling in programming C
File handling(some slides only)
C programming session 11
Chapter 13.1.10
file.ppt
File Handling in C Programming
File_Handling in C.ppt
637225560972186380.pdf
File_Handling in C.ppt
ppt5-190810161800 (1).pdf
want to learn files,then just use this ppt to learn
WK-12-13-file f classs 12 computer science from kv.
File Handling in C Programming for Beginners
C Programming Unit-5
C-Programming Chapter 5 File-handling-C.ppt
CInputOutput.ppt
How to do file-handling - in C language
1file handling
File Handling ppt.pptx shjd dbkd z bdjdb d
C-Programming Chapter 5 File-handling-C.ppt
Ad

More from mondalakash2012 (13)

PPT
Sn reaction
PPT
PPT
Extra problem for 1st yr
PPT
Elimination
PPT
L12 complexity
PPT
L11 tree
PPT
L10 sorting-searching
PPT
L6 structure
PPT
L4 functions
PPT
L3 control
PPT
L2 number
PPT
Struct examples
Sn reaction
Extra problem for 1st yr
Elimination
L12 complexity
L11 tree
L10 sorting-searching
L6 structure
L4 functions
L3 control
L2 number
Struct examples

L8 file

  • 1. File Handling January 5, 2013 Programming and 1
  • 2. File handling in C • In C we use FILE * to represent a pointer to a file. • fopen is used to open a file. It returns the special value NULL to indicate that it couldn't open the file. FILE *fptr; char filename[]= "file2.dat"; fptr= fopen (filename,"w"); if (fptr == NULL) { printf (“ERROR IN FILE CREATION”); /* DO SOMETHING */ } January 5, 2013 Programming and 2
  • 3. Modes for opening files • The second argument of fopen is the mode in which we open the file. There are three • "r" opens a file for reading • "w" creates a file for writing - and writes over all previous contents (deletes the file so be careful!) • "a" opens a file for appending - writing on the end of the file • “rb” read binary file (raw bytes) • “wb” write binary file January 5, 2013 Programming and 3
  • 4. The exit() function • Sometimes error checking means we want an "emergency exit" from a program. We want it to stop dead. • In main we can use "return" to stop. • In functions we can use exit to do this. • Exit is part of the stdlib.h library exit(-1); in a function is exactly the same as return -1; in the main routine January 5, 2013 Programming and 4
  • 5. Usage of exit( ) FILE *fptr; char filename[]= "file2.dat"; fptr= fopen (filename,"w"); if (fptr == NULL) { printf (“ERROR IN FILE CREATION”); /* Do something */ exit(-1); } January 5, 2013 Programming and 5
  • 6. Writing to a file using fprintf( ) • fprintf( ) works just like printf and sprintf except that its first argument is a file pointer. FILE *fptr; fptr= fopen ("file.dat","w"); /* Check it's open */ fprintf (fptr,"Hello World!n"); January 5, 2013 Programming and 6
  • 7. Reading Data Using fscanf( ) •We also read data from a file using fscanf( ). FILE *fptr; input.dat fptr= fopen (“input.dat”,“r”); /* Check it's open */ 20 30 if (fptr==NULL) { printf(“Error in opening file n”); } x=20 fscanf(fptr,“%d%d”,&x,&y); y=30 January 5, 2013 Programming and 7
  • 8. Reading lines from a file using fgets( ) We can read a string using fgets ( ). FILE *fptr; char line [1000]; /* Open file and check it is open */ while (fgets(line,1000,fptr) != NULL) { printf ("Read line %sn",line); } fgets( ) takes 3 arguments, a string, a maximum number of characters to read and a file pointer. It returns NULL if there is an error (such as EOF). January 5, 2013 Programming and 8
  • 9. Closing a file • We can close a file simply using fclose( ) and the file pointer. FILE *fptr; char filename[]= "myfile.dat"; fptr= fopen (filename,"w"); if (fptr == NULL) { Opening printf ("Cannot open file to write!n"); exit(-1); } fprintf (fptr,"Hello World of filing!n"); Access fclose (fptr); closing January 5, 2013 Programming and 9
  • 10. Three special streams • Three special file streams are defined in the <stdio.h> header • stdin reads input from the keyboard • stdout send output to the screen • stderr prints errors to an error device (usually also the screen) • What might this do? fprintf (stdout,"Hello World!n"); January 5, 2013 Programming and 10
  • 11. An example program Give value of i #include <stdio.h> 15 main() Value of i=15 { No error: But an example to show error message. int i; fprintf(stdout,"Give value of i n"); fscanf(stdin,"%d",&i); Display on fprintf(stdout,"Value of i=%d n",i); The screen fprintf(stderr,"No error: But an example to show error message.n"); } January 5, 2013 Programming and 11
  • 12. Input File & Output File redirection • One may redirect the input and output files to other files (other than stdin and stdout). • Usage: Suppose the executable file is a.out $ ./a.out <in.dat >out.dat No error: But an example to show error message. Give value of i Display 15 Value of i=15 screen in.dat out.dat January 5, 2013 Programming and 12
  • 13. Reading and Writing a character • A character reading/writing is equivalent to reading/writing a byte. int getchar( ); int fgetc(FILE *fp); int putchar(int c); int fputc(int c, FILE *fp); • Example: char c; c=getchar( ); putchar(c); January 5, 2013 Programming and 13
  • 14. Example: use of getchar() and putchar() #include <stdio.h> main() { int c; printf("Type text and press return to see it again n"); printf("For exiting press <CTRL D> n"); while((c=getchar( ))!=EOF) putchar(c); } End of file January 5, 2013 Programming and 14
  • 15. Command Line Arguments • Command line arguments may be passed by specifying them under main( ). int main(int argc, char *argv[ ]); Argument Count Array of Strings as command line arguments including the command itself. January 5, 2013 Programming and 15
  • 16. Example: Reading command line arguments #include <stdio.h> #include <string.h> int main(int argc,char *argv[]) { FILE *ifp,*ofp; int i,c; char src_file[100],dst_file[100]; if(argc!=3){ printf("Usage: ./a.out <src_file> <dst_file> n"); exit(0); } else{ strcpy(src_file,argv[1]); strcpy(dst_file,argv[2]); } January 5, 2013 Programming and 16
  • 17. Example: Contd. if((ifp=fopen(src_file,"r"))==NULL) { printf("File does not exist.n"); ./a.out s.dat d.dat exit(0); } if((ofp=fopen(dst_file,"w"))==NULL) argc=3 { printf("File not created.n"); exit(0); ./a.out } argv s.dat while((c=getc(ifp))!=EOF){ putc(c,ofp); d.dat } fclose(ifp); fclose(ofp); } January 5, 2013 Programming and 17
  • 18. Getting numbers from strings • Once we've got a string with a number in it (either from a file or from the user typing) we can use atoi or atof to convert it to a number • The functions are part of stdlib.h char numberstring[]= "3.14"; int i; double pi; pi= atof (numberstring); i= atoi ("12"); Both of these functions return 0 if they have a problem January 5, 2013 Programming and 18
  • 19. Example: Averaging from Command Line #include <stdio.h> #include <stdlib.h> $ ./a.out 45 239 123 int main(int argc,char *argv[]) Average=135.666667 { float sum=0; int i,num; num=argc-1; for(i=1;i<=num;i++) sum+=atof(argv[i]); printf("Average=%f n",sum/(float) num); } January 5, 2013 Programming and 19