Programming and Data Structure

Slides:



Advertisements
Similar presentations
File Management in C. What is a File? A file is a collection of related data that a computers treats as a single unit. Computers store files to secondary.
Advertisements

I/O means Input and Output. One way: use standard input and standard output. To read in data, use scanf() (or a few other functions) To write out data,
BITS Pilani, Pilani Campus TA C252 Computer Programming - II Vikas Singh File Handling.
File Management in C. A file is a collection of related data that a computers treats as a single unit. File is a collection of data stored permanently.
Files in C Rohit Khokher. Files in C Real life situations involve large volume of data and in such cases, the console oriented I/O operations pose two.
Chapter 11: Data Files & File Processing In this chapter, you will learn about Files and streams Creating a sequential access file Reading data from a.
C Programming - Lecture 3 File handling in C - opening and closing. Reading from and writing to files. Special file streams stdin, stdout & stderr. How.
File Management in C. Console oriented Input/Output Console oriented – use terminal (keyboard/screen) scanf(“%d”,&i) – read data from keyboard printf(“%d”,i)
CSCI 171 Presentation 12 Files. Working with files File Streams – sequence of data that is connected with a specific file –Text Stream – Made up of lines.
Console and File I/O - Basics Rudra Dutta CSC Spring 2007, Section 001.
Files Programs and data are stored on disk in structures called files Examples Turbo C++ - binary file Word binary file lab1.c - text file lab1.data.
© Janice Regan, CMPT 128, Jan CMPT 128: Introduction to Computing Science for Engineering Students C File Input and Output Checking input for errors.
C Basic File Input/Output Manipulation C Programming – File Outline v File handling in C - opening and closing. v Reading from and writing to files.
Lone Leth Thomsen Input / Output and Files. April 2006Basis-C-8/LL2 sprintf() and sscanf() The functions sprintf() and sscanf() are string versions of.
CP104 Introduction to Programming File I/O Lecture 33 __ 1 File Input/Output Text file and binary files File Input/output File input / output functions.
File Handling Spring 2013Programming and Data Structure1.
22. FILE INPUT/OUTPUT. File Pointers and Streams Declarations of functions that perform file I/O appear in. Each function requires a file pointer as a.
 2007 Pearson Education, Inc. All rights reserved C File Processing.
File IO and command line input CSE 2451 Rong Shi.
1 File Handling. 2 Storage seen so far All variables stored in memory Problem: the contents of memory are wiped out when the computer is powered off Example:
Chapter 11: Data Files and File Processing Files and streams Creating a sequential access file Reading data from a sequential access file Using fgetc()
Chapter 7 : File Processing1 File-Oriented Input & Output CHAPTER 7.
1 CHAPTER6 CHAPTER 6. Objectives: You’ll learn about;  Introduction  Files and streams  Creating a sequential access file  Reading data from a sequential.
CNG 140 C Programming (Lecture set 10) Spring Chapter 10 Data Files.
24-2 Perform File I/O using file pointers FILE * data-type Opening and closing files Character Input and Output String Input and Output Related Chapter:
CS 261 – Recitation 7 Spring 2015 Oregon State University School of Electrical Engineering and Computer Science.
GAME203 – C Files stdio.h C standard Input/Output “getchar()”
Files A collection of related data treated as a unit. Two types Text
 2007 Pearson Education, Inc. All rights reserved. 1 C File Processing.
Files Programming 1. 2 What is a File? Is a block of arbitrary information, or resource for storing information, which is available to a computer program.
Lecture 20: C File Processing. Why Using Files? Storage of data in variables and arrays is temporary Data lost when a program terminates. Files are used.
Connecting to Files In order to read or write to a file, we need to make a connection to it. There are several functions for doing this. fopen() – makes.
Chapter 4 File Processing
Chapter 22 – part a Stream refer to any source of input or any destination for output. Many small programs, obtain all their input from one stream usually.
TMF1414 Introduction to Programming
Chapter 18 I/O in C.
File I/O.
CS 261 – Recitation 7 Fall 2013 Oregon State University
CSC215 Lecture Input and Output.
Plan for the Day: I/O (beyond scanf and printf)
Programming and Data Structures
CS111 Computer Programming
CSE1320 Files in C Dr. Sajib Datta
CSE1320 Files in C Dr. Sajib Datta
Programming in C Input / Output.
File Management in C.
Programming in C Input / Output.
Files I/O, Streams, I/O Redirection, Reading with fscanf
CSE1320 Files in C Dr. Sajib Datta
File I/O We are used to reading from and writing to the terminal:
CSC215 Lecture Input and Output.
CSC215 Lecture Input and Output.
Beginning C Lecture 11 Lecturer: Dr. Zhao Qinpei
FILE HANDLING IN C.
Text and Binary File Processing
File Input and Output.
File Handling.
Fundamental of Programming (C)
Programming in C Input / Output.
File Handling in C.
Chapter 5 File Handling in C
EPSII 59:006 Spring 2004.
Module 12 Input and Output
CS1100 Computational Engineering
C Programming - Lecture 3
CSc 352 File I/O Saumya Debray Dept. of Computer Science
I/O CS580U - Fall 2018.
Professor Jodi Neely-Ritz University of Florida
File I/O We are used to reading from and writing to the terminal:
Chapter 18 I/O in C.
Presentation transcript:

Programming and Data Structure File Handling Spring 2012 Programming and Data Structure

Programming and Data Structure File Discrete storage unit for data in the form of a stream of bytes. Durable: stored in non-volatile memory. Starting end, sequence of bytes, and end of stream (or end of file). Sequential access of data by a pointer performing read / write / deletion / insertion. Meta-data (information about the file) before the stream of actual data. Spring 2012 Programming and Data Structure

Programming and Data Structure Head Tail Meta Data 40 65 87 90 24 67 89 File Pointer Spring 2012 Programming and Data Structure

Programming and Data Structure 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 */ } Spring 2012 Programming and Data Structure

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 Spring 2012 Programming and Data Structure

Programming and Data Structure 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 Spring 2012 Programming and Data Structure

Programming and Data Structure 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); } Spring 2012 Programming and Data Structure

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"); Spring 2012 Programming and Data Structure

Reading Data Using fscanf( ) We also read data from a file using fscanf( ). FILE *fptr; fptr= fopen (“input.dat”,“r”); /* Check it's open */ if (fptr==NULL) { printf(“Error in opening file \n”); } fscanf(fptr,“%d%d”,&x,&y); input.dat 20 30 x=20 y=30 Spring 2012 Programming and Data Structure

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 %s\n",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). Spring 2012 Programming and Data Structure

Programming and Data Structure 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) { printf ("Cannot open file to write!\n"); exit(-1); } fprintf (fptr,"Hello World of filing!\n"); fclose (fptr); Opening Access closing Spring 2012 Programming and Data Structure

Programming and Data Structure 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"); Spring 2012 Programming and Data Structure

Programming and Data Structure An example program Give value of i 15 Value of i=15 No error: But an example to show error message. #include <stdio.h> main() { int i; fprintf(stdout,"Give value of i \n"); fscanf(stdin,"%d",&i); fprintf(stdout,"Value of i=%d \n",i); fprintf(stderr,"No error: But an example to show error message.\n"); } Display on The screen Spring 2012 Programming and Data Structure

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. Display screen Give value of i Value of i=15 15 in.dat out.dat Spring 2012 Programming and Data Structure

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); Spring 2012 Programming and Data Structure

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 Spring 2012 Programming and Data Structure

Command Line Arguments Command line arguments may be passed by specifying them under main( ). int main(int argc, char *argv[ ]); Array of Strings as command line arguments including the command itself. Argument Count Spring 2012 Programming and Data Structure

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]); Spring 2012 Programming and Data Structure

Programming and Data Structure Example: Contd. if((ifp=fopen(src_file,"r"))==NULL) { printf("File does not exist.\n"); exit(0); } if((ofp=fopen(dst_file,"w"))==NULL) printf("File not created.\n"); while((c=getc(ifp))!=EOF){ putc(c,ofp); fclose(ifp); fclose(ofp); ./a.out s.dat d.dat argc=3 ./a.out s.dat d.dat argv Spring 2012 Programming and Data Structure

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 Spring 2012 Programming and Data Structure

Example: Averaging from Command Line #include <stdio.h> #include <stdlib.h> int main(int argc,char *argv[]) { 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); } $ ./a.out 45 239 123 Average=135.666667 Spring 2012 Programming and Data Structure