C Library Function putc() (original) (raw)

Last Updated : 06 Jun, 2023

In C, the putc() function is used to write a character passed as an argument to a given stream. It is a standard library function defined in the <stdio.h> header file. The function first converts the character to unsigned char, then writes it to the given stream at the position indicated by the file pointer, and finally increments the file pointer by one.

Syntax of putc()

int putc(int ch, FILE *stream);

Parameters

Return Value

Examples of C putc()

Example 1:

In this example, we will write a single character to a file using putc().

C `

// C program to demonstrate the putc() function

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

int main() { FILE* fp = NULL; // Open the file in write mode fp = fopen("C:\Users\General\Desktop\file.txt", "w");

if (fp == NULL) {
    // Print an error message if
    // the file couldn't be opened
    printf("The file can't be opened!\n");
    // Exit the program with an error code
    exit(1);
}
// Character to be written to the file
char ch = 'A';
// Write the character to the file
putc(ch, fp);
// Print a message
// indicating that
// the file has
// been modified
printf("File has been modified !\n");
// Close the file
fclose(fp);
// Set the file pointer to NULL for safety
fp = NULL;

return 0;

}

`

Output

File has been modified !

If we open the generated file.txt, it will print the following content:

C `

// C program to display the content of the above text file

#include <stdio.h>

int main() { FILE* fptr; int temp; // Open the file in read mode fptr = fopen("C:\Users\General\Desktop\file.txt", "r");

while (1) {
    // Read a character from the file
    temp = fgetc(fptr);
    // Check if end of file has been
    // reached
    if (feof(fptr)) {
        // If so, break out of the loop
        break;
    }

    // Print the character
    printf("%c", temp);
}
// Close the file
fclose(fptr);

return (0);

}

`

Output

A

Example 2:

In this example, we will use a for loop to write all the characters between A to Z to a file using putc(). See the following code:

C `

// C program to demonstrate the putc() function

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

int main() { FILE* fp = NULL; // Open the file in write mode fp = fopen("C:\Users\General\Desktop\file.txt", "w");

if (fp == NULL) {
    // Print an error message if
    // the file couldn't be opened
    printf("The file can't be opened!\n");
    // Exit the program with an error code
    exit(1);
}

for (int ch = 65; ch <= 90; ch++) {
    // Write characters A to Z to the file
    putc(ch, fp);
}
// Print a message
// indicating that
// the file has
// been modified

printf("File has been modified !\n");
// Close the file
fclose(fp);
// Set the file pointer to NULL for safety
fp = NULL;

return 0;

}

`

Output

File has been modified !

If we open the generated file.txt, it will print the following content:

C `

// C program to display the content of the above text file

#include <stdio.h>

int main() { FILE* fptr; int temp; // Open the file in read mode fptr = fopen("C:\Users\General\Desktop\file.txt", "r");

while (1) {
    // Read a character from the file
    temp = fgetc(fptr);
    // Check if end of file has been reached
    if (feof(fptr)) {
        // If so, break out of the loop
        break;
    }
    // Print the character
    printf("%c", temp);
}
// Close the file
fclose(fptr);

return (0);

}

`

Output

ABCDEFGHIJKLMNOPQRSTUVWXYZ