File Operation

File operations such as reading and writing are commonly used in day-to-day development, especially when we want to dump some data from the program to a text file.

Parameters

The opening modes in Python are the same as C fopen() std library function.

The BSD fopen manpage defines them as follows:

The argument mode points to a string beginning with one of the following
sequences (Additional characters may follow these sequences.):

  • “r” Open text file for reading. The stream is positioned at the
    beginning of the file.
  • “r+” Open for reading and writing. The stream is positioned at the
    beginning of the file.
  • “w” Truncate file to zero length or create text file for writing.
    The stream is positioned at the beginning of the file.
  • “w+” Open for reading and writing. The file is created if it does not
    exist. Otherwise it is truncated. The stream is positioned at
    the beginning of the file.
  • “a” Open for writing. The file is created if it does not exist. The
    stream is positioned at the end of the file. Subsequent writes
    to the file will always end up at the then current end of file,
    irrespective of any intervening fseek(3) or similar.
  • “a+” Open for reading and writing. The file is created if it does not
    exist. The stream is positioned at the end of the file. Subsequent writes to the file will always end up at the then current
    end of file, irrespective of any intervening fseek(3) or simil

C Write File Example

#include <stdio.h>
#include <stdlib.h>

int main() {
    FILE *fp; 
    // Open file
    fp=fopen("test.txt", "a");

    if(fp == NULL) exit(-1);

    for(int i = 0; i < 100; i++){
	fprintf(fp, "%d \n", i);
    }
    // Close file
    fclose(fp);
}