Open In App

What is the difference between printf, sprintf and fprintf?

Improve
Improve
Like Article
Like
Save
Share
Report

printf: printf function is used to print character stream of data on stdout console. 

Syntax :

printf(const char* str, ...); 

Example : 

C




// simple print on stdout
#include <stdio.h>
int main()
{
    printf("hello geeksquiz");
    return 0;
}


Output

hello geeksquiz

sprintf: String print function instead of printing on console store it on char buffer which is specified in sprintf.

Syntax:

sprintf(char *str, const char *string,...); 

Example : 

C




// Example program to demonstrate sprintf()
#include <stdio.h>
int main()
{
    char buffer[50];
    int a = 10, b = 20, c;
    c = a + b;
    sprintf(buffer, "Sum of %d and %d is %d", a, b, c);
 
    // The string "sum of 10 and 20 is 30" is stored
    // into buffer instead of printing on stdout
    printf("%s", buffer);
 
    return 0;
}


Output

Sum of 10 and 20 is 30

fprintf: fprintf is used to print the string content in file but not on the stdout console.

fprintf(FILE *fptr, const char *str, ...);

Example : 

C




#include <stdio.h>
int main()
{
    int i, n = 2;
    char str[50];
 
    // open file sample.txt in write mode
    FILE* fptr = fopen("sample.txt", "w");
    if (fptr == NULL) {
        printf("Could not open file");
        return 0;
    }
 
    for (i = 0; i < n; i++) {
        puts("Enter a name");
        gets(str);
        fprintf(fptr, "%d.%s\n", i, str);
    }
    fclose(fptr);
 
    return 0;
}


Input:

Enter a name GeeksforGeeks
Enter a name GeeksQuiz 

Output :  

0. GeeksforGeeks
1. GeeksQuiz

Thank you for reading, i will soon update with scanf, fscanf, sscanf keep tuned.



Last Updated : 11 Apr, 2023
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads