• 【C语言天天练(十三)】printf、fprintf、sprintf和snprintf函数


    #include <stdio.h>

    int printf(const char *format, ...);
    int fprintf(FILE *stream, const char *format, ...);
    int sprintf(char *str, const char *format, ...);

    int snprintf(char *str, size_t size, const char *format, ...);


    printf是标准的输出函数。


    fprintf传送格式化输出到一个文件中。依据指定的format(格式)发送信息(參数)到由stream(流)指定的文件。fprintf仅仅能和printf一样工作。若成功则返回值是输出的字符数,错误发生时返回一个负值。第一个參数是文件指针stream。后面的參数就是printf中的參数,其功能就是把这些输出送到文件指针指定的文件里,假设想要像printf一样将输出送到标准输出,仅仅须要将文件指针FILE指定为stdout就可以。

    演示样例程序例如以下:

    #include <stdio.h>
    
    FILE *stream;
    int
    main(void)
    {
    	char s[] = "this is a string.
    ";
    	char c = '
    ';
    
    	stream = fopen("fprintf.out", "w");
    	fprintf(stream, "%s", s);
    	fprintf(stdout, "abc
    ");
    	return 0;
    }
    该程序的执行结果是在fprintf.out文件里存入了this is a string.字符串,在标准输出输出了abc字符串。


    sprintf,字符串格式化命令,主要功能是把格式化的数据写入某个字符串中。第一个參数str是char型指针,指向将要写入的字符串的缓冲区。后面第二个參数是格式化字符串。

    演示样例程序:

    #include <stdio.h>
    
    int
    main(void)
    {
    	char s[100]; 
    
    	sprintf(s, "%%sfjdksfj" );
    	printf("%s
    ", s);
    	return 0;
    }
    运行后输出结果是
    %sfjdksfj


    snprintf函数与sprintf函数类似。它也是将可变个參数依照format格式化成字符串。然后将其拷贝到str中。

    (1) 假设格式化后的字符串长度 < size。则将此字符串所有拷贝到str中,并给其后加入一个字符串结束符('');(2) 假设格式化后的字符串长度 >= size,则仅仅将当中的(size-1)个字符拷贝到str中,并给其后加入一个字符串结束符(''),返回值为格式化后的字符串的长度。

    演示样例程序:

    #include <stdio.h>
    
    int
    main(void)
    {
    	char s[10]; 
    
    	snprintf(s, 4, "%%sfjdksfj" );
    	printf("%s
    ", s);
    	snprintf(s, sizeof(s), "%%sfjdksfj" );
    	printf("%s
    ", s);
    	return 0;
    }
    执行结果:

    %sf
    %sfjdksfj






  • 相关阅读:
    [Swift]LeetCode954. 二倍数对数组 | Array of Doubled Pairs
    [Xcode 实际操作]九、实用进阶-(18)图像人脸识别:对图片中的人像进行面部检测
    Hibernate or JPA Annotation中BLOB、CLOB注解写法
    install_driver(mysql) failed
    【Android】Android中AlertDialog对话框的使用实例
    POJ 2442 Sequence【堆】
    distributed OSGI demo
    DSP/BIOS使用之初窥门径——滴答时钟及烧写Flash
    提取工厂类
    【JAVA学习】struts2的action中使用session的方法
  • 原文地址:https://www.cnblogs.com/claireyuancy/p/6695030.html
Copyright © 2020-2023  润新知