C fclose() Function Tutorial

  • Post author:
  • Post category:C

In this section, we will learn what the fclose() function is and how it works in C.

Close File in C: fclose() Function

As mentioned in the fopen() section, the first step in order to work with a file in C program is to open it!

This opening will cause a portion of the memory space to be allocated to the target file.

It is a good practice to release this allocated space after we’re done with the file in order to let other programs use the space if they needed.

This is where the `fclose()` function comes in.

Via this function, we can close and release the memory allocated to the FILE-structure of the target file.

Note: the prototype of this function exists in the `stdio.h` header file and so we need to include the file in order to work with this function.

C fclose() Function Syntax:

Here’s the prototype of the function:

int fclose(FILE *stream)

C fclose() Function Parameters

This function only takes one argument and that is the memory address which is allocated to the FILE-structure of the target file.

Note: we get this address when we open a file via the call to the `fopen()` function.

C fclose() Function Return Value

The returned value of the function is 0 on a successful operation and EOF otherwise.

Example: using fclose() function in C

#include <stdio.h>
#include <stdlib.h>
#include<string.h>
int main() {

    //Call the the fopen function in order to open the file in write mode.
    FILE *file = fopen("G:/fileOne.txt","w");
    //if there was a problem on opening the file, exit the program.
    if (file == NULL){
        printf("Could not open the file");
        exit(EXIT_FAILURE);

    }

    char *string = "Hello,\nMy name is John Doe!\n";
    for (int i = 0 ; i<strlen(string);i++){
        fputc(*(string+i), file);
    }

    fclose(file);


    printf("Done\n");
    return 0;
}

Output:

Done

Leave a Reply