fprintf和sprintf的区别

本文详细对比了fprintf与sprintf两个函数的使用场景与区别。fprintf用于将格式化后的字符串输出到文件流中,而sprintf则是将格式化后的字符串存入缓冲区。两者都返回输出的字符数量,但在错误处理上有所不同。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

fprintf和sprintf的区别

1、fprintf:

格式化输出到流(stream)文件中,返回值是输出的字符数,发生错误时返回一个负值.

  #include <stdio.h>
  int fprintf( FILE *stream, const char *format, ... );
2、sprintf:

格式化输出发送到buffer(缓冲区)中.返回值是写入的字符数量.

  #include <stdio.h>
  int sprintf( char *buffer, const char *format, ... );
例子:
#include <stdio.h>
#include <stdlib.h>

int main()
{

    char name[20] = "Mary";
    FILE *out;
    out = fopen( "output.txt", "w" );
    if( out != NULL )
        //格式化输出到文件文件中
        fprintf( out, "Hello %s\n", name );
    fclose(out);

    /*--------分-------割-------线---------*/

    char string[50];
    int file_number = 0;
    FILE *output_file;
    file_number++;
    //格式化输出到缓冲区
    sprintf( string, "file.%d", file_number );
    output_file = fopen( string, "w" );
    fclose(output_file);

    return 0;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值