Post on 11-Nov-2014
description
transcript
Recall
• What are the difference between stack and heap?
• How to allocate memory in stack? And heap?
• What are the difference between malloc() and calloc()
Introduction to CFile handling in CWeek 3- day 2
Relevance of File handling in C
Relevance of File handling in C
Instruction Address
11011110 00110000
00010010 00110001
10000000 00001010
01001000 10000001
00001100 10000100
11000001 00101011
01011011 01011001
11101011 11111000Mother Board
Ram
Loads instruction for execution
Some data
CPU
Ram Stores data whenever the power is
on
Instruction AddressRam
Loads instruction for execution
no data
CPU
Mother Board
Relevance of File handling in C
Ram looses all data whenever the power is OFF as it is volatile. So we need a
mechanism to store data permanently
Instruction AddressRam
Loads instruction for execution
no data
CPU
Mother Board
Relevance of File handling in C
Keeps all data in a File and stores it on
secondary disks such as hard disk, CD etc
You Should know !
Whenever we open a file it will be loaded into RAM memory .
Instruction Address
11011110 00110000
00010010 00110001
10000000 00001010
01001000 10000001
00001100 10000100
11000001 00101011
01011011 01011001
11101011 11111000Mother Board
Ram
Loads instruction for execution
Some data
CPU
File Handling
• Files are created for permanent storage of data
• When a computer reads a file, it copies the file from the storage device to memory; when it writes to a file, it transfers data from memory to the storage device.
Sample Program
File Handling
FILE *p;*p=fopen(“data.txt”,”w”) fprintf(p,“hello World”);fclose();
First you need a File pointer to the memory
location where the file is loaded
File Handling
FILE *p;*p=fopen(“data.txt”,”w”) fprintf(p,“hello World”);fclose();
Fopen() opens the file in different modes and returns the address
File Handling
FILE *p;*p=fopen(“data.txt”,”w”) fprintf(p,“hello World”);fclose();
fprintf() is used to write in to a file same like we use
printf to write on the screen
File Handling
FILE *p;*p=fopen(“data.txt”,”r”) fprintf(p,“hello World”);fclose(p);
File must be closed at the end of program using
inbuilt function fclose()
File Modes
• r : reads from a file• w : overwrite to a file • a : append on a file• r+ : reads and writes. File
pointer at the beginning• w+ : reads and overwrites.• a+ : reads and appends .File
pointer at the beginning
Write to file
• fprintf(p,” hello %s”,name); • // same like printf() writes characters
into a file
• fputs(“message”,p); • // same purpose of fprintf()
• fputc(‘h’,p);• // writes a single character into file
Read from File
• fscanf(p,”%s”,message); • // same like scanf() reads characters
from file and assign to a variable
• fgets(message,100,p); • // same purpose of fscanf() but can
mention the number of characters to be read
• fgetc(p);• // returns the current character and
advance the file pointer once; returns EOF when file ending has reached
#include <stdio.h>void main (){ FILE *fp; int c,n=0; fp = fopen("file.txt","r"); if(fp == NULL) { printf("Error in opening file");
Exit(0); } do { c = fgetc(fp);// fgetc() always return integer .if it is character it returns corresponding integer
printf("%c", c); }while(c != EOF); fclose(fp);}
Questions?“A good question deserve a
good grade…”
Self Check !!
Self Check
• The first and second arguments of fopen area) A character string containing the name of the file & the second argument is the mode.b) A character string containing the name of the user & the second argument is the mode.c) A character string containing file poniter & the second argument is the mode.d) None of the mentioned of the mentioned
Self Check
• The first and second arguments of fopen area) A character string containing the name of the file & the second argument is the mode.b) A character string containing the name of the user & the second argument is the mode.c) A character string containing file poniter & the second argument is the mode.d) None of the mentioned of the mentioned
Self Check
• If there is any error while opening a file, fopen will returna) Nothingb) EOFc) NULLd) Depends on compiler
Self Check
• If there is any error while opening a file, fopen will returna) Nothingb) EOFc) NULLd) Depends on compiler
Self Check
• FILE is of type ______ ?a) int typeb) char * typec) struct typed) None of the mentioned
Self Check
• FILE is of type ______ ?a) int typeb) char * typec) struct typed) None of the mentioned
Self Check
• Which of the following mode argument is used to truncate?a) ab) fc) wd) t
Self Check
• Which of the following mode argument is used to truncate?a) ab) fc) wd) t
End of Day 2