printf是标准输出流的输出函数,用来向屏幕这样的标准输出设备输出,而fprintf则是向文件输出,将输出的内容输出到硬盘上的文件或是相当于文件的设备上 printf是有缓冲的输出,fprintf没有缓冲 fprintf()传送输出到一个流中的函数 原形:int fprintf(FILE *stream,const char *format[,argument,...]) 功能:①向文件指针指向的文件输出ASCⅡ代码 ②向显示器输出错误信息 使用形式: ①fprintf(文件指针,"输出格式",输出项系列); ②fprintf(stderr,"错误信息"); 使用实例:fprintf(stream,"%d %c %f",i,c,f); 其中定义FILE *stream; int i; char c; float f; 返回值:成功则返回输出的字节数,错误则返回EOF。 头文件:stdio.h =================================================== sprintf()格式化输出到数组的函数 原形∶int sprintf(buf,format,arg_list) 其中char *buf; 功能∶把arg_list参量的值按format的格式输出到buf中。 例∶sprintf(buffer,"相对扇区号∶%s(其中∶柱面号为%d/磁头号为%d/扇区号为%d)",string,cyls,head,sector); 其中char buffer[100]; char *string=" "; int cyls,head,sector; 返回值∶实际写入数组的字符个数。 头文件∶stdio.h
sprintf 是个变参函数,定义如下: int sprintf( char *buffer, const char *format [, argument] ... ); 除了前两个参数类型固定外,后面可以接任意多个参数。而它的精华,显然就在第二个参数: 格式化字符串上。 printf 和sprintf 都使用格式化字符串来指定串的格式,在格式串内部使用一些以“%”开头的 格式说明符(format specifications)来占据一个位置,在后边的变参列表中提供相应的变量,最终 函数就会用相应位置的变量来替代那个说明符,产生一个调用者想要的字符串。 格式化数字字符串 sprintf 最常见的应用之一莫过于把整数打印到字符串中.... 格式化读写函数fscanf和fprintf fscanf函数,fprintf函数与前面使用的scanf和printf 函数的功能相似,都是格式化读写函数。 两者的区别在于 fscanf 函数和fprintf函数的读写对象不是键盘和显示器,而是磁盘文件。这两个函数的调用格式为: fscanf(文件指针,格式字符串,输入表列); fprintf(文件指针,格式字符串,输出表列); 例如: fscanf(fp,"%d%s",&i,s); fprintf(fp,"%d%c",j,ch);
|