Go4Expert (http://www.go4expert.com/)
-   C (http://www.go4expert.com/articles/c-tutorials/)
-   -   File Handling in C - File Pointers (http://www.go4expert.com/articles/file-handling-c-file-pointers-t1323/)

pradeep 2Sep2006 11:55

File Handling in C - File Pointers
Refer to the recent articles on Understanding File Handling Functions in C & Understanding Advance File Handling Functions in C

C communicates with files using a new datatype called a file pointer. This type is defined within stdio.h, and written as FILE *. A file pointer called output_file is declared in a statement like

Code: C

FILE *output_file;

Opening a file pointer using fopen

Your program must open a file before it can access it. This is done using the fopen function, which returns the required file pointer. If the file cannot be opened for any reason then the value NULL will be returned. You will usually use fopen as follows

Code: C

if ((output_file = fopen("output_file", "w")) == NULL)
        fprintf(stderr, "Cannot open %s\n", "output_file");

fopen takes two arguments, both are strings, the first is the name of the file to be opened, the second is an access character, which is usually one of:

"r" => Open a file for reading
"w" => Create a file for writing
"a" => Open a file for appending

Closing a file using fclose

The fclose command can be used to disconnect a file pointer from a file. This is usually done so that the pointer can be used to access a different file. Systems have a limit on the number of files which can be open simultaneously, so it is a good idea to close a file when you have finished using it.

This would be done using a statement like

Code: C


If files are still open when a program exits, the system will close them for you. However it is usually better to close the files properly.

Standard file pointers in UNIX

UNIX systems provide three file descriptors which are automatically open to all C programs. These are

stdin => The standard input.The keyboard or a redirected input file.
stdout => The standard output.The screen or a redirected output file.
stderr => The standard error.This is the screen, even when output is redirected.
This is a conventional place to put any error messages.

Since these files are already open, there is no need to use fopen on them.

rahul.mca2001 6Mar2008 13:58

Re: File Handling in C - File Pointers
thanks a lot , file handling is realyy tough forme

sreeramu 23May2008 13:30

Re: File Handling in C - File Pointers
if you explain other file related functions in ths thread means it will be very nice....

livinmanavalan 6Dec2010 15:52

Re: File Handling in C - File Pointers
I am also needed details for it.

rameshb 10Dec2010 14:55

Re: File Handling in C - File Pointers
Please provide us with a example program so that the concept file handling is more clear to us

alvisnally 19May2011 02:26

Re: File Handling in C - File Pointers
Well, A file is a collection of bytes stored on a secondary storage device, which is about a basic of some kind. The accumulating of bytes may be interpreted. There are two kinds of files that programmers deal with text files and binary files.

jennyjackson 19May2011 15:19

Re: File Handling in C - File Pointers
I also want information about it.

mukund077 12Aug2011 10:21

Re: File Handling in C - File Pointers
My file is in binary format. The data is actually encrypted in binary form. the data format is double. How can i actually get my data extracted form this encrypted data using C programming. Can I print the value of the pointer's location(please not its not the value at the pointer location ).??

satya.139 13Aug2011 15:21

Re: File Handling in C - File Pointers
is there any way to delete a record from a file without copying to some other temporary file in c

john1110 13Aug2011 19:44

Re: File Handling in C - File Pointers
thanks to share this pointer info

All times are GMT +5.5. The time now is 15:55.