C putc() Function Tutorial

  • Post author:
  • Post category:C

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

C putc() Function

The `putc()` function is used to send a character to a file.

This function only takes one character at a time and sends it to the target file. But if we want to send a character-string to a file in one call, we can use a function like `fputs()`.

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

C putc() Function Syntax:

Here’s the prototype of the `getc` function:

int putc(int char, FILE *stream)

C putc() Function Parameters

The first argument of the function is the character that we want to send to the target file.

The second argument is the address of a pointer to the FILE-structure of the target file.

Note: we get this pointer from the call to the `fopen` function.

C putc() Function Return Value

The function returns either the character set as its first argument on a successful operation or EOF if an error occurred.

Example: using putc() 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){
        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

Note: in order to write content to a file, the file should be opened in one of the modes that allows for writing content. (“w”, “w+”, “a”, “a+” etc.)

In this example, we wrote the content of the `string` into the file named `fileOne.txt`. As a result, if we open the file after the execution of the program, the content of the `string` variable will be there.

Note: The file is opened in `w` mode, which means the content of the file (if any) will be truncated to zero length or the file will be created if it doesn’t exist.

Leave a Reply