printf
printf函数用于在标准输出控制台上打印数据的字符流。
语法:
int printf(const char* str, ...);
示例:
// simple print on stdout
#include<stdio.h>
int main()
{
printf("hello geeksquiz");
return 0;
}
输出:
hello geeksquiz
sprintf
语法:
int sprintf(char *str, const char *string,...);
字符串打印函数(sprintf)代替控制台上的打印,将其存储在sprintf中指定的char缓冲区中。
示例:
// 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;
}
输出:
Sum of 10 and 20 is 30
fprintf
fprintf用于打印文件中的字符串内容,但不能在标准输出控制台上打印。
int fprintf(FILE *fptr, const char *str, ...);
示例:
#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;
}
运行程序:
输入: GeeksforGeeks
GeeksQuiz
输出 : sample.txt file now having output as
0. GeeksforGeeks
1. GeeksQuiz
参考文档
[1]Vankayala Karunakar.What is the difference between printf, sprintf and fprintf?[EB/OL].https://www.geeksforgeeks.org/difference-printf-sprintf-fprintf/,2018-12-13.