C语言中,printf、sprintf、fprintf之间的区别及用法举例

本文介绍了C语言中的三个用于输出格式化字符串的函数:printf将内容输出到屏幕,sprintf将内容写入到指定字符串,fprintf则将内容写入到文件。这三个函数都接受格式化字符串和可变参数列表,但输出位置不同,适用于不同的场景。
摘要由CSDN通过智能技术生成

目录

1. printf

2. sprintf

3. fprintf


        在C语言中,sprintf、printf、fprintf都是用来输出字符串的函数,它们之间的主要区别在于输出的位置不同。

        它们之间的区别如下:

函数名功能
printf将一个格式化的字符串输出到屏幕。
sprintf将一个格式化的字符串输出到一个目的字符串中。
fprintf将一个格式化的字符串写入文件中。

        下面是对这三个函数的主要介绍:

1. printf

        printf是C语言标准库中的最常用的函数之一。

        printf的基本语法如下:

int printf(const char* format, ...);
功能:将格式化的字符串输出到标准输出流stdout中(即屏幕上显示)。
参数: format:格式化字符串,包含了输出字符串中的格式和内容。
       ...:可变参数列表,根据format字符串中的格式进行输出。
返回值:输出到标准输出流stdout中的字符数,
       错误则返回负数。

        示例:

int num = 10;
printf("num = %d\n", num);

        上面的代码中,printf函数将"num = 10"输出到标准输出流stdout中,返回值为8。

2. sprintf

        sprintf和printf的使用方式基本相同,不同之处在于sprintf将格式化的字符串输出到指定的字符数组中,而不是输出到标准输出流。

        sprintf的基本语法如下:

int sprintf(char* str, const char* format, ...);
功能:将格式化的字符串输出到指定的字符数组中
参数:
   str:目标字符串,即将格式化后的字符串输出到该字符串中。
   format:格式化字符串,包含了输出字符串中的格式和内容。
   ...:可变参数列表,根据format字符串中的格式进行输出。
返回值:输出到目标字符串中的字符数
       发生错误则返回负数。

        示例:

char buf[100];
int num = 10;
sprintf(buf, "num = %d", num);

        上面的代码将会将"num = 10"字符串输出到buf数组中。

3. fprintf

        fprintf和printf的使用方式也类似,不同之处在于fprintf将格式化的字符串输出到指定的文件中,而不是输出到标准输出流。其通过文件流指针来控制。

        fprintf的基本语法如下:

int fprintf(FILE* stream, const char* format, ...);
功能:将格式化的字符串输出到指定的文件中
参数:
   stream:目标文件流指针,即将格式化后的字符串输出到该文件中。
   format:格式化字符串,包含了输出字符串中的格式和内容。
   ...:可变参数列表,根据format字符串中的格式进行输出。
返回值:输出到目标文件中的字符数
       如果发生错误则返回负数。

        示例:

FILE* fp = fopen("test.txt", "w"); //以只写的方式打开test.txt文件
int num = 10;
fprintf(fp, "num = %d", num);
fclose(fp);

        上面的代码将会将"num = 10"字符串输出到test.txt文件中。

        总之,这三个函数都是输出字符串的函数,主要区别在于输出的位置不同。当需要将输出写入到指定的字符数组或文件中时,可以使用sprintf或fprintf,而当需要将输出显示在屏幕上时,可以使用printf。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值