Open In App

C File Pointer

A file pointer is a variable that is used to refer to an opened file in a C program. The file pointer is actually a structure that stores the file data such as the file name, its location, mode, and the current position in the file. It is used in almost all the file operations in C such as opening, closing, reading, writing, etc.

Syntax

FILE *ptr;

Here, FILE is the typedef name of the predefined file pointer structure and ptr is a pointer variable of type FILE.



Example of File Pointer




// C Program to demonstrate the file pointer
#include <stdio.h>
  
int main()
{
    // declaring file pointer
    FILE* fptr;
  
    // trying to get the size of FILE datatype.
    printf("Size of FILE Structure: %d bytes",
           sizeof(FILE));
  
    return 0;
}

Output
Size of FILE Structure: 216 bytes

How File Pointer Works in C?

We use a file pointer to refer to the file opened using fopen() function and the behavior of a file pointer can vary depending on the access modes specified when opening the file using the fopen() function.



Let’s see how the C file pointer works in files with different access modes:

1. In Read Mode ( “r” )

Syntax

FILE *fp;
fp = fopen("fileName", "r");

2. In Write Mode ( “w” )

Syntax

FILE *fp;
fp = fopen("fileName", "w");

3. Append Mode ( “a” )

Syntax

FILE *fp;
fp = fopen("fileName", "a");

How File Pointer Works in fseek() function?

fseek() function in C is used to set or change the file pointer to a specific position within a file.

Syntax

fseek(FILE *filePointer, long offset, int origin);

Parameters

When we call fseek() and provide the value of offset and origin, the position of the file pointer is changed accordingly. The new position is determined by adding the offset to the origin. It returns 0 if the operation is successful and it returns a non-zero value if an error occurred.

Conclusion

File pointers in C are important for performing input and output operations on files. They work as an interface between the program and the file, allowing us to read from and write to the file.

Article Tags :