V-1 University of Washington Computer Programming I File Input/Output © 2000 UW CSE.

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

UNIT 15 File Processing.
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.
© Copyright 1992–2004 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved Introduction Data files –Can be created, updated,
1 ICS103 Programming in C Lecture 8: Data Files. 2 Outline Why data files? Declaring FILE pointer variables Opening data files for input/output Scanning.
 2000 Prentice Hall, Inc. All rights reserved. Chapter 11 – File Processing Outline 11.1Introduction 11.2The Data Hierarchy 11.3Files and Streams 11.4Creating.
Chapter 11 C File Processing Acknowledgment The notes are adapted from those provided by Deitel & Associates, Inc. and Pearson Education Inc.
B-1 Lecture 2: Problems, Algorithms, and Programs © 2000 UW CSE University of Washington Computer Programming I.
Chapter 8: I/O Streams and Data Files. In this chapter, you will learn about: – I/O file stream objects and functions – Reading and writing character-based.
Guide To UNIX Using Linux Third Edition
CSE1301 Computer Programming: Revision. Topics Type of questions What do you need to know? About the exam Exam technique Sample questions.
Console and File I/O - Basics Rudra Dutta CSC Spring 2007, Section 001.
© Janice Regan, CMPT 128, Jan CMPT 128: Introduction to Computing Science for Engineering Students C File Input and Output Checking input for errors.
Files COP3275 – PROGRAMMING USING C DIEGO J. RIVERA-GUTIERREZ.
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.
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.
C++ for Engineers and Scientists Second Edition Chapter 8 I/O File Streams and Data Files.
 2007 Pearson Education, Inc. All rights reserved C File Processing.
Engr 0012 (04-1) LecNotes Engr 0012 (04-1) LecNotes C++ errors/debugging build/compile compiler does not recognize a statement build/compile.
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:
Lecture 8a: File I/O BJ Furman 21MAR2011. Learning Objectives Explain what is meant by a data stream Explain the concept of a ‘file’ Open and close files.
Chapter 3 Input and Output
Chapter 11 File Processing. Objectives In this chapter, you will learn: –To be able to create, read, write and update files. –To become familiar with.
Chapter 12 Files (reference: Deitel ’ s chap 11) chap8.
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.
Lecture 11: Files & Arrays B Burlingame 18 November 2015.
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:
E-1 University of Washington Computer Programming I Lecture 5: Input and Output (I/O) © 2000 UW CSE.
chap8 Chapter 12 Files (reference: Deitel ’ s chap 11)
G3-1 University of Washington Computer Programming I Structuring Program Files © 2000 UW CSE.
Q-1 11/29/98 CSE / ENGR 142 Programming I Input/Output, Libraries, and Files © 1998 UW CSE.
Files A collection of related data treated as a unit. Two types Text
CSCI N305: C Programming Copyright ©2006  Department of Computer & Information Science File Handling in C.
FILES IN C. File Operations  Creation of a new file  Opening an existing file  Reading from a file  Writing to a file  Moving to a specific location.
Computer Science: A Structured Programming Approach Using C1 Objectives ❏ To understand the basic properties and characteristics of external files ❏ To.
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.
 2007 Pearson Education, Inc. All rights reserved C File Processing.
Real Numbers Device driver process within the operating system that interacts with I/O controller logical record 1 logical record 2 logical record 3.
Chapter 7 Text Input/Output Objectives
Chapter 7 Text Input/Output Objectives
RECURSION Recursion is a process where a function calls itself. main()
TMF1414 Introduction to Programming
University of Washington Computer Programming I
Chapter 7 Text Input/Output Objectives
File Access (7.5) CSE 2031 Fall July 2018.
File I/O.
File Input/Output.
Programming in C Input / Output.
Programming in C Input / Output.
I/O in C Lecture 6 Winter Quarter Engineering H192 Winter 2005
Beginning C Lecture 11 Lecturer: Dr. Zhao Qinpei
File I/O in C Lecture 7 Narrator: Lecture 7: File I/O in C.
FILE HANDLING IN C.
File Input and Output.
File Handling.
Fundamental of Programming (C)
Programming in C Input / Output.
File Handling in C.
Chapter 12: File I/O.
EPSII 59:006 Spring 2004.
Module 12 Input and Output
ETE 132 Lecture 8 By Munirul Haque.
Chapter 11 Files chap8.
CSc 352 File I/O Saumya Debray Dept. of Computer Science
ICS103: Programming in C 6: Pointers and Modular Programming
Files Chapter 8.
Presentation transcript:

V-1 University of Washington Computer Programming I File Input/Output © 2000 UW CSE

V-2 Overview Concepts External disk files Opening files for reading/writing File variables File I/O Closing Files Reading Textbook sec. 12.1

V-3 Overview Concepts External disk files Opening files for reading/writing File variables File I/O Closing Files

V-4 Central Processing Unit Main Memory Monitor Network Disk (Files) Keyboard mouse Review: What is I/O?

V-5 Files A "file" is a collection of data on disk

V-6 Why Files? Large volume of input data Large volume of output data More permanent storage of data Transfer to other programs Multiple simultaneous input and/or output streams

V-7 DATA FILES Business Data: customer files, payroll files, … Scientific Data: weather data, environmental data, topographic maps, … Image Data: web images, satellite images, medical images, … Web Data: HTML, GIF, JPEG, PNG, XML, …

V-8 Files A "file" is a collection of data on disk managed by the user and the operating system Permanent A "file name" is how the user and OS know the file follows OS naming rules We'll look at using text files in a C program

V-9 Files as Streams of Characters keyboard/screen are special cases input / output streams of characters Multiple streams can be used simultaneously In reality, stream flows through a buffer rather than directly into or out of variables. program variables abc12 12 hx119 8s error\n 12, 13, 13

V-10 Files vs. File Variables Key idea A file is a collection of data on disk For our purposes, a sequence of characters But a C program can only operate directly on variables (data in main memory), so… Need to make a connection between the data on the disk and variables in main memory

V-11 Files vs. File Variables A file variable is a data structure in the C program which represents the file Temporary: exists only when program runs There is a struct called FILE in Details of the struct are private to the standard C I/O library routines

V-12 What's in stdio.h? Prototypes for I/O functions. Definitions of useful #define constants Example: EOF for End of File Definition of FILE struct to represent information about open files. File variables in C programs are pointers to a FILE struct. FILE *myfile;

V-13 Opening A File "Opening" a file: making a connection between the operating system (file name) and the C program (file variable) Files must be opened before they can be used

V-14 Central Processing Unit Main Memory Monitor Network Disk (Files) Keyboard mouse Computer System

V-15 Opening A File To open a disk file in C: library function fopen specify "r" (read, input) or "w" (write, output) NB String “r”, not char ‘r’ ! Files stdin/stdout (used by scanf/printf) are automatically opened & connected to the keyboard and display

V-16 File Open Example /*usually done only once in a program*/ /*usually done near beginning of program*/ FILE *infilep, *outfilep; /*file variables*/ char ch; /* Open input and output files */ infilep = fopen (“Student_Data”, “r” ) ; outfilep = fopen (“New_Student_Data”, “w”) ;

V-17 File I/O: fscanf and fprintf Once a file has been opened... use fscanf and fprintf to read or write data from/to the file Use the file variable returned by fopen to identify the file to be read/written File must already be open before fscanf or fprintf is used!

V-18 File I/O: fscanf and fprintf fscanf: works just like scanf, but 1st parameter is a file variable fscanf (filepi, “%...”, &var,... ) ; fprintf: works just printf, but 1st parameter is a file variable fprintf (filepo, “%...”, var,... ) ;

V-19 Copying a File /* Copy a file one character at a time */ /* files must already be open before this*/ fscanf (infilep, “%c”, &ch); while ( “we just read a character” ) { fprintf (outfilep, “%c”, ch) ; fscanf (infilep, “%c”, &ch); } /* all done */ Question: How do we tell when we’ve read the last character from the input file?

V-20 Detour: (f)scanf return value Both scanf and fscanf are really int-valued functions Besides storing input values in variables, they return a status code: Tells the number of values successfully read Can be used to see if the number of values read is the number expected. If not, there must have been an error. Can also be used to detect when end of file is reached

V-21 scanf Old Style int status, id, score ; double grade ; scanf(“%d %lf %d”, &id, &grade, &score) ; Problem: how would you know if there was an error in input (garbage typed when number expected, etc.)?

V-22 scanf with return value int status, id, score ; double grade ; status = scanf(“%d %lf %d”, &id, &grade, &score) ; if (status < 3) printf(“Error in input \n”) ; This is how you can detect errors Don’t confuse status (function value) with input (variables in parameter list)

V-23 End of File (EOF) Status EOF: a special status value Returned by scanf and fscanf when end of data is reached defined in stdio.h #define EOF (some negative value) I/O library routines use EOF in various ways to signal end of file. Your programs can check for EOF EOF is a status, not an input value!!

V-24 File Copy Example, Concluded /* Copy a file one char at a time until EOF*/ /* files must already be open before this*/ status = fscanf (infilep, “%c”, &ch); while ( status != EOF ) { fprintf (outfilep, “%c”, ch) ; status = fscanf (infilep, “%c”, &ch); } /* all done */

V-25 Closing A File Breaks the link between file variable and file Usually done only once in a program, near end of program Closing an output file is essential, or data may be lost! infilep = fopen (“Student_Data”, “r” ) ;.../*process the file */... /*when completely done with the file:*/ fclose (infilep);

V-26 File Copy (Compact Edition) /* Many C programmers use this style*/... while ( fscanf (infilep, “%c”, &ch) != EOF ) fprintf (outfilep, “%c”, ch) ; printf (“File copied.\n”) ; fclose (infilep) ; fclose (outfilep) ;

V-27 Review: Essential Functions for Text File I/O fopen and fclose fscanf: status = fscanf (filepi, “%...”, &var,... ) ; /* fscanf returns EOF on end of file */ fprintf: fprintf (filepo, “%...”, var,... ) ; File must already be open before before fscanf or fprintf is used!

V-28 Building Applications with Files With fopen, fclose, fprintf, and fscanf you can write lots of useful programs involving files Many errors and exceptions can arise when using files A robust program must handle errors scanf's return value informs us of errors

V-29 Summary Files are collections of data on disk A file must be opened be used A file should be closed after use fprintf is used to write text files fscanf is used to read text files