turner
Uploaded by
10 SLIDES
235 VUES
100LIKES

Understanding File I/O and Data Streams in C Programming

DESCRIPTION

This lecture covers the fundamental concepts of File I/O and data streams in C programming. Learn what data streams are, how to open and close files, and understand standard data streams like stdin, stdout, and stderr. Discover how to declare pointers to FILE data structures for reading from and writing to files using functions like fopen() and fclose(). This guide provides crucial insights for effectively handling input and output operations in your programs, making it easier to work with files and arrays in C.

1 / 10

Télécharger la présentation

Understanding File I/O and Data Streams in C Programming

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Lecture 8a: File I/O BJ Furman 21MAR2011

  2. Learning Objectives • Explain what is meant by a data stream • Explain the concept of a ‘file’ • Open and close files for reading and writing

  3. Data Streams • Data ‘stream’ • “an ordered series of bytes” (Darnell and Margolis, 1996) • Like a 1D array of characters that can flow from your program to a device or file or vice-versa • IO involves reading data from or writing data to a stream • Prior to UNIX • Programmers had to handle all the intricacies and complexities of interfacing to input and output devices, such as card readers, printers, terminals, etc. • UNIX • Abstracted away the details of IO to the concept of the data stream • Established standard data streams: • stdin – data coming into your program (usually from the keyboard) • stdout – data going out of your program (usually to the display) • stderr – for error information going out of your program

  4. File IO • Need to first associate a stream with a file or device • Three streams are automatically opened and associated with your program: • stdin, stdout, stderror • Ex. printf() defaults to printing to the display • To read from or write to another file stream, you need to declare a pointer to a data structure called FILE • This pointer is used to read from, write to, or close the stream • Use IO functions for file operations (like fprintf())

  5. Opening a File - 1 • Key steps: • Declare a pointer to FILE • FILE *fp; • Provides the means to associate a file with a data stream • Will be used by other functions such as fprintf() • Use fopen() function with a path to the file and a file mode as arguments • Ex. Open file_name.txt to be able to read from it • fp = fopen(“file_name.txt”, “r”); • fopen() returns a pointer to the file • fp stores the pointer to the file, file_name.txt • “r” opens the file for reading from • Can also open a file to write to it or append to it See reference: http://www.cppreference.com/wiki/c/io/fopen

  6. Opening a File - 2 Source: http://www.cppreference.com/wiki/c/io/fopen • Other modes • Good idea to test that the file was opened without error • fopen() will return NULL if there is an error opening the file fp = fopen(“file_name.txt”, “r”); if(fp == NULL) { printf("Error: can't open file to read\n"); return 1; }

  7. Closing a File • Function header: • int fclose(FILE *fp); • Good idea to test the file was closed without error • Test the return value of fclose • fclose() will return EOF if there is an error closing the file if(fclose(fp) == EOF) { printf("Error closing file\n"); return 1; } • It is best practice to close all files that you opened, somewhere in your program

  8. Arrays and File I/O • Arrays are often used with data consisting of many elements • Often too tedious to handle I/O by keyboard and monitor • File I/O is used instead • File I/O and array example • file_I_O.c

  9. Review

  10. References Darnell, P. A. & Margolis, P. E. (1996) C, a software engineering approach, 3rd ed., Springer, New York, p. 327. http://www.cppreference.com/wiki/c/io/fopen,Visited 23OCT2010. http://en.wikipedia.org/wiki/Standard_streams, Visited 23OCT2010.

More Related