C语言中printf,sprintf和fprintf的区别是什么
printf
printf函数用于在标准输出设备(stdout控制台)上输出文本(字符串/字符流)或值。
基本语法
int printf(const char * format,...);
说明:
format提供了文本字符串的格式,该格式将在输出设备上使用%s,%d,%f等格式说明符进行输出。
...提供需要输出的参数列表。
返回类型int返回屏幕上输出的字符总数。
示例:
#includestdio.h>
int main() {
printf("hello geeksquiz");
printf("\n");
int a=2;
printf("%d",a);
return 0;
}
输出:
sprintf
sprintf用于将格式化文本(字符串/字符流)发送(复制)到字符串缓冲区上。
基本语法
int sprintf(char * str,const char * format,...);
说明:
● char * str : 将在其中发送(复制)格式化文本的字符数组。
● format在格式说明符的帮助下提供格式化文本。
● ...提供需要输出的参数列表。
● 返回类型int将复制(发送)字符的总数返回到char * str中。
示例:
#include stdio.h>
int main(){
char str[100];
int n;
n=sprintf((char*)str,"我的名字是%s, I am %d years old.","mike",23);
printf("Text is: %s\n",str);
printf("total number of copied characters are: %d\n",n);
return 0;
}
说明:sprintf将字符串存储在指定的char缓冲区上,再通过printf在stdout控制台上输出。
输出:
fprintf
fprintf用于在文件中输出字符串内容,但不在stdout控制台上输出。
基本语法:
int fprintf(FILE * fptr,const char * str,...);
说明:
fptr :这是指向 FILE 对象的指针,该 FILE 对象标识了流。
str:这是 C 字符串,包含了要被写入到流 stream 中的文本。
示例:
#includestdio.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("无法打开文件");
return 0;
}
for (i=0;
in;
i++) {
puts("输入名称");
gets(str);
fprintf(fptr,"%d.%s\n", i, str);
}
fclose(fptr);
return 0;
}
输出:
sample.txt中:
总结:
printf,sprintf和fprintf的区别是:它们的输出目标不一样。printf在stdout控制台上输出数据字符流;sprintf将数据字符流发送指定的char缓冲区上;fprintf用于在文件中输出字符串内容。
以上就是本篇文章的全部内容,希望能对大家的学习有所帮助。更多精彩内容大家可以关注相关教程栏目!!!
以上就是C语言中printf,sprintf和fprintf的区别是什么的详细内容,更多请关注其它相关文章!
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: C语言中printf,sprintf和fprintf的区别是什么
本文地址: https://pptw.com/jishu/593379.html
