What is the difference between printf, sprintf and fprintf?
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. This article is contributed by Vankayala Karunakar. Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above.
Please Login to comment...