Introduction to c part 4

Post on 11-Nov-2014

389 views 2 download

Tags:

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