printf,sprintf和fprintf都是C语言的输出语句,都是把格式好的字符串输出。那么这三者有什么区别,下面本篇文章就来认识一下printf,sprintf和fprintf,介绍它们之间的区别,希望对大家有所帮助。

printf

printf函数用于在标准输出设备(stdout控制台)上输出文本(字符串/字符流)或值。

基本语法

int printf(const char * format,...);

说明:

format提供了文本字符串的格式,该格式将在输出设备上使用%s,%d,%f等格式说明符进行输出。

...提供需要输出的参数列表。

返回类型int返回屏幕上输出的字符总数。

示例:

#include<stdio.h> int main() {    printf("hello geeksquiz");     printf("\n");    int  a=2;   printf("%d",a);    return 0; }

输出:

2.jpg

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控制台上输出。

输出:

3.jpg

fprintf

fprintf用于在文件中输出字符串内容,但不在stdout控制台上输出。

基本语法:

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

说明:

fptr :这是指向 FILE 对象的指针,该 FILE 对象标识了流。

str:这是 C 字符串,包含了要被写入到流 stream 中的文本。

示例:

#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("无法打开文件");         return 0;     }       for (i=0; i<n; i++)     {         puts("输入名称");         gets(str);         fprintf(fptr,"%d.%s\n", i, str);     }     fclose(fptr);       return 0; }

输出:

360截图20190125164812469.jpg

sample.txt中:

4.jpg

总结:

printf,sprintf和fprintf的区别是:它们的输出目标不一样。printf在stdout控制台上输出数据字符流;sprintf将数据字符流发送指定的char缓冲区上;fprintf用于在文件中输出字符串内容。

更多相关文章

  1. Perl中如何对混合字符串进行排序?(代码示例)
  2. C++实现逐行读取txt文件中的字符串以及文件文本的复制
  3. c++输出二维字符矩阵对齐
  4. 字符串赋值是什么意思
  5. c++如何实现字符串分割函数split?(代码示例)
  6. c语言字符串结束标志是什么
  7. C#正则表达式元字符详解
  8. c语言怎么删除字符串中相同字符
  9. c++怎么将字符串转数字

随机推荐

  1. PHP序列化和反序列化语法差异问题
  2. PHP 编写基本的 Socket 程序
  3. 如何直接访问php实例对象的private属性
  4. 用PHP+Redis实现延迟任务 实现自动取消订
  5. 关于php访问控制的介绍
  6. 解决php使用支付宝SDK报错问题
  7. PHP常见并发场景的解决方法
  8. 系统化理解PHP中的错误和异常
  9. PHP中判断函数是否被定义的方法
  10. NodeJs与PHP的benchmark