• 技术文章 >后端开发 >C#.Net教程

    C语言中printf,sprintf和fprintf的区别是什么

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

    php入门到就业线上直播课:进入学习

    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用于在文件中输出字符串内容。

    以上就是本篇文章的全部内容,希望能对大家的学习有所帮助。更多精彩内容大家可以关注php中文网相关教程栏目!!!

    以上就是C语言中printf,sprintf和fprintf的区别是什么的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。

    前端(VUE)零基础到就业课程:点击学习

    清晰的学习路线+老师随时辅导答疑

    自己动手写 PHP MVC 框架:点击学习

    快速了解MVC架构、了解框架底层运行原理

    专题推荐:C printf sprintf fprintf
    上一篇:如何编写C程序?C程序的基本编写规则 下一篇:自己动手写 PHP MVC 框架(40节精讲/巨细/新人进阶必看)

    相关文章推荐

    • ❤️‍🔥共22门课程,总价3725元,会员免费学• ❤️‍🔥接口自动化测试不想写代码?• 基于JS实现PHP的sprintf函数实例_javascript技巧• JavaScript中实现sprintf、printf函数_javascript技巧• PHP之sprintf函数用法详解_php技巧• PHP中将字符串转化为整数(int) intval() printf() 性能测试_php技巧
    1/1

    PHP中文网