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.

Slides:



Advertisements
Similar presentations
Introduction to C Programming
Advertisements

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.
Using Files Declare a variable, called file pointer, of type FILE * Use function fopen to open a named file and associate this file with the file pointer.
Week 5 Part I Kyle Dewey. Overview Exam will be back Thursday New office hour More on functions File I/O Project #2.
UNIT 15 File Processing.
Files in C Rohit Khokher.
BITS Pilani, Pilani Campus TA C252 Computer Programming - II Vikas Singh File Handling.
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.
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.
© Copyright 1992–2004 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved Introduction Data files –Can be created, updated,
 2007 Pearson Education, Inc. All rights reserved C File Processing.
File I/O.
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.
1 Homework Introduction to HW7 –Complexity similar to HW6 –Don’t wait until last minute to start on it File Access will be needed in HW8.
N305: C Programming Copyright ©2006  Department of Computer & Information Science File Handling in C.
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.
File Handling In C By - AJAY SHARMA. We will learn about- FFile/Stream TText vs Binary Files FFILE Structure DDisk I/O function OOperations.
 2007 Pearson Education, Inc. All rights reserved C File Processing.
Introduction to Programming Using C Files. 2 Contents Files Working with files Sequential files Records.
File IO and command line input CSE 2451 Rong Shi.
CSEB114: Principle of programming Chapter 11: Data Files & File Processing.
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:
Pascal Programming Today Chapter 11 1 Chapter 11.
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.
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:
chap8 Chapter 12 Files (reference: Deitel ’ s chap 11)
GAME203 – C Files stdio.h C standard Input/Output “getchar()”
ME-2221 COMPUTER PROGRAMMING Lecture 18 FILE OPERATIONS Department of Mechanical Engineering A.H.M Fazle Elahi Khulna University of engineering & Technology.
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.
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.
C Programming Day 2. 2 Copyright © 2005, Infosys Technologies Ltd ER/CORP/CRS/LA07/003 Version No. 1.0 Union –mechanism to create user defined data types.
 2007 Pearson Education, Inc. All rights reserved C File Processing.
Silberschatz and Galvin  C Programming Language Kingdom of Saudi Arabia Ministry of Higher Education Al-Majma’ah University College of Education.
Chapter 7 Text Input/Output Objectives
Chapter 7 Text Input/Output Objectives
RECURSION Recursion is a process where a function calls itself. main()
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 7 Text Input/Output Objectives
File Access (7.5) CSE 2031 Fall July 2018.
File I/O.
File Handling in C.
CS111 Computer Programming
CSE1320 Files in C Dr. Sajib Datta
File Input/Output.
CSE1320 Files in C Dr. Sajib Datta
What you need for the 1st phase of project
File Handling in C.
FILE HANDLING.
File Management in C.
Beginning C Lecture 11 Lecturer: Dr. Zhao Qinpei
Programming and Data Structure
Text and Binary File Processing
File Input and Output.
File Handling.
File Access (7.5) CSE 2031 Fall January 2019.
File Handling in C.
File Access (7.5) CSE 2031 Fall February 2019.
File Handling in C.
Chapter 5 File Handling in C
Chapter 12: File I/O.
Files Chapter 8.
Presentation transcript:

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 on secondary storage device. Files are 2 types Text files Binary files

File Management in C Text file Collection of characters that a computer can process sequentially Only in forward direction A text files is usually opened for only one kind of operation (reading, writing or appending) at a time Text file can only read or write one character at a time Newline character may be converted

File Management in C Binary file Similar to text file It is a collection of bytes (in c bytes and characters are same) No special processing of the data occurs It may be read from or write to in any manner Can processed sequentially or randomly Random accessing involves moving the current file position to an appropriate place in the file before reading or writing data.

File Management in C Basic file operations – Naming a file – Opening a file for reading only – Opening a file for writing only – Closing the file

File Management in C File name May contain two parts – Primary part – Extension part – Primary part contains maximum 8 characters – Extension part contains maximum 3 characters Examples: a.out, prog.c, temp, text.out

File Management in C FILE Pointer Which used to manipulate the file pointers(read pointer & write pointer) File pointer can be declared FILE *pointer; Eg FILE *fp fp – contains all information about file – Communication link between system and program

File Management in C File handling functions: included in the header file stdio.h fopen() fclose() getc() putc() getw() putw() fprintf() fscanf()

File Management in C fopen() used to create or open an existing file Syntax Filename  name of the file Mode : takes 3 values r  opening the file for reading only w  opening the file for writing only a  opening the file in append mode Eg Fp=fopen(“popo.txt”,”w”);  opening the file popo.txt for writing data file pointer= fopen(“filename”,”mode”);

File Management in C File mode When a file opened in r mode if the file already exist, the content will not lost, read data from beginning of the file (BOF) When a file opened in w mode if the file already exist, the content will lost, write date from the beginning of the file (BOF) When a file opened in a mode if the file already exist, the content will not lost, add more data at end of the file (EOF)

File Management in C

Additional Modes r+ (read+write) open to beginning for both reading/writing In this mode the previous record of file is not deleted w+ (write+read) same as w, we can also read record which is stored in the file a+ (append+read) same as ‘a’, we can also read record which is stored in the file

File Management in C fclose() File must be closed as soon as all operations on it completed To 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

File Management in C fclose() Syntax: fclose(file_pointer); Example: FILE *p1, *p2; p1 = fopen(“INPUT.txt”, “r”); p2 =fopen(“OUTPUT.txt”, “w”); …….. fclose(p1); fclose(p2); pointer can be reused after closing

File Management in C getc() – read a character from the file putc() – write a character into the file getw() – read integer from the file putw() – write integer into the file fprintf() – write set of data values into the file fscanf() – read set of data values from the file

File Management in C handle one character at a time like getc() and putchar() syntax: Eg : putc(c,fp); c  char variable, fp  file pointer syntax: Eg: c=getc(fp); c  char variable, fp  file pointer file pointer moves by one character position after every getc() and putc() getc() returns end-of-file marker EOF when file end reached putc(character,file pointer); Character variable=getc(file pointer);

File Management in C Program to read/write using getc() & putc() #include main() {FILE *f1; char c; f1= fopen(“INPUT.txt”, “w”); /* open file for writing */ while((c=getchar()) != ‘*’) /*get char from keyboard until ‘*’ */ putc(c,f1); /*write a character to INPUT */ fclose(f1); /* close INPUT */ f1=fopen(“INPUT.txt”, “r”); /* reopen file */ while((c=getc(f1))!=EOF) /*read character from file INPUT*/ printf(“%c”, c);/* print character to screen */ fclose(f1); } /*end main */

File Management in C Multi file Accessing (Copy the content of one file to another) #include main() {FILE *f1,*f2; char c; f1= fopen(“INPUT.txt”, “w”); /* open file for writing */ while((c=getchar()) != ‘*’) /*get char from keyboard until ‘*’ */ putc(c,f1); /*write a character to INPUT */ fclose(f1); /* close INPUT */ f1=fopen(“INPUT.txt”, “r”); /* reopen file */ f2=fopen(“copy.txt”,”w”); // open to write data while((c=getc(f1))!=EOF) /*read character from file INPUT*/ putc(c,f2);/* copy data to second file */ fclose(f1); fclose(f2); }

File Management in C getw() and putw() getw() read an integer from the file putw() write an integer into the file putw() syntax: Eg : putc(c,fp); c  int variable, fp  file pointer syntax: Eg: c=getw(fp); c  int variable, fp  file pointer file pointer moves by one character position after every getw() and putw() getw() returns end-of-file marker EOF when file end reached putw(integer,file pointer); int variable=getw(file pointer);

C program using getw(), putw() main() { int i; FILE *f1; f1 = fopen("int_data.txt","w"); // open files for(i=10;i<15;i++) // write integers to files { putw(i,f1); } fclose(f1); f1 = fopen("int_data.txt","r"); while((i=getw(f1))!=EOF) { printf(“%d\n",i); } fclose(f1); getch(); }

File Management in C fscanf() fprintf() fscanf() : read mixed type of data from the file fprintf() : write mixed type of data into the file fscanf() syntax: Eg : fscanf(fp,”%d%s”, &a,b); a  int a; b  char b[20]; fprintf() Syntax : Eg : fprintf(fp,”%d %s’,a,b); a  int a=10; b  char b[20]=“ajith”; fscanf(fp,”control string”,&variable list); fprintf(fp,”control string”,variable list);

C program using fscanf(), fprintf() main() { int a; char name[20]; FILE *fp; fp=fopen(“data.txt”,”w”); printf(“enter no and aname”); scanf(“%d%s”,&a,name); fprintf(fp,”%d %s”,a,name); fclose(f2); fp=fopen(“data.txt”,”r”); fscanf(fp,“%d%s”,&a,name); printf(“\ndata in the file %d %s”,a,name); fclose(fp); getch(); fclose(f2); }

Binary files (Random files) Jump to a given position (byte number) in a file without reading all the previous data For random accessing files, different functions are Ftell()  return the position of file pointer Rewind()  move the file pointer to BOF Fseek()  move the file pointer to the desire location

Binary files (Random files) ftell(fp) returns current byte position in file rewind(fp) resets position to start of file 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 byte fseek(fp, -10, 2); // move 10 bytes backword

Random access to files main() { FILE *fp; char c; clrscr(); fp=fopen("check.txt","w"); while((c=getchar())!='*') { putc(c,fp); } printf("\n position of file pointer %d",ftell(fp)); rewind(fp); printf("\n position of file pointer %d",ftell(fp)); fclose(fp); fp=fopen("check.txt","r"); while((c=getc(fp))!=EOF) { printf("%c",c); fseek(fp,2,1); } getch(); }

File Management in C fread() fwrite) Used for reading/writing block of data from/to the file. These functions accept four arguments. The first argument is Pointer to a block of memory used for reading/writing the data. The secong argument is Size, in bytes, of each element to be read/write The third argument is Number of elements, each one with a size of size bytes. The fourth argument is file pointer

File Management in C fread() fwrite) Syntax Eg char c[20]=“popo”; FILE *fp; fp=fopen(“data.txt”,”w”); fwrite(c,1,3,fp); c  pointer, 1  size of each char 3  no of char to write, fp  file pointer The content of data.txt  pop fwrite ( void * ptr, size, count, FILE pointer); fread ( void * ptr, size, count, FILE pointer);