【菜鸟笔记C】sprintf、fprintf和printf

【1】    sprintf、fprintf和printf这三个函数的区别


(1)printf
是把格式字符串输出到标准输出(一般是屏幕,可以重定向)。
(2)sprintf
是把格式字符串输出到指定字符串中,所以参数比printf多一个char*。那就是目标字符串地址。
功能:把格式化的数据写入某个字符串缓冲区。
字符串缓冲区可以在大量的字符串的操作时使字符串能自动的根据获取的大小分配内存,减小了系统的内存压力。

(3)fprintf

是把格式字符串输出到指定文件设备中,所以参数笔printf多一个文件指针FILE*。

功能:传送格式化输出到一个文件中与打印机输出。


【2】   fprintf  用法举例

#include <stdio.h>


FILE *stream;

int main()
{
int i = 10;
double fp = 1.5;
char s[] = "this is a string";
char c = '\n';

stream = fopen( "fprintf.out", "w" );
fprintf( stream, "%s%c", s, c );
fprintf( stream, "%d\n", i );
fprintf( stream, "%f\n", fp );
fclose( stream );
system( "type fprintf.out" );
   return 0;

}
 
屏幕输出:

this is a string
10
1.500000
  
  
原型
int fprintf (FILE* stream, const char*format, [argument])
参数列表
FILE*stream:文件指针
const char* format:输出格式
[argument]:附加参数列表

stream=fopen("fprintf.out","w");的意思是创建磁盘文件,然后还要fclose(stream)关闭文件。
system("type fprintf.out");的意思是执行一个命令。这个命令type fprintf.out的含义是显示文件fprintf.out的路径。
【3】 sprintf 用法举例
例1:
#include <stdio.h>
int main()
{
   char buffer[99];
   int a = 577;
   sprintf(buffer,"%d",a);
   printf("%s",buffer);
   return 0;
}
屏幕输出:
577

原型

int sprintf( char *buffer, const char *format, [ argument] … );
参数列表

   
   
bufferchar型指针,指向将要写入的字符串的缓冲区。
format:格式化字符串。
[argument]...:可选参数,可以是任何类型的数据。
sprintf是向数组输出,printf是向屏幕输出。

例2:
#include <stdio.h>
int main()
{
   char buf[99];
   int a = 577;
   double b = 3.4;
   char s[20];
   scanf("%s",s);
   sprintf(buf,"57%d%s%lf",a,s,b);
   printf("%s",buf);
   return 0;
}
输入:ff
屏幕输出:57577ff3.400000
这是我的第一篇博客,我是C语言的初学者,想借助博客这个平台来整理日常的笔记。部分文字提出自百度知道和百度百科,非商业用途,如有侵权,请告知我,我会删除!



  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值