【1】
sprintf、fprintf和printf这三个函数的区别
(1)printf
是把格式字符串输出到标准输出(一般是屏幕,可以重定向)。
(2)sprintf
是把格式字符串输出到指定字符串中,所以参数比printf多一个char*。那就是目标字符串地址。
功能:把格式化的数据写入某个字符串缓冲区。
字符串缓冲区可以在大量的字符串的操作时使字符串能自动的根据获取的大小分配内存,减小了系统的内存压力。
(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] … );参数列表
buffer:char型指针,指向将要写入的字符串的缓冲区。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语言的初学者,想借助博客这个平台来整理日常的笔记。部分文字提出自百度知道和百度百科,非商业用途,如有侵权,请告知我,我会删除!