fprintf和printf有什么区别吗?

如题所述

1、原形:fprintf的函数原型为int fprintf( FILE *stream, const char *format, [ argument ]...);而printf的函数原型为:int printf( const char *format [, argument]... )。

2、输出的目标:printf,是把格式字符串输出到标准输出(一般是屏幕,可以重定向);fprintf, 是把格式字符串输出到指定文件设备中,所以参数笔printf多一个文件指针FILE*。

3、缓冲:printf是有缓冲的输出;fprintf没有缓冲。

4、功能:fprintf()传送输出到一个流中的函数;sprintf()格式化输出到数组的函数。

5、返回值:fprintf()成功则返回输出的字节数,错误则返回EOF;sprintf()实际写入数组的字符个数。

扩展资料:

1、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

2、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

温馨提示:答案为网友推荐,仅供参考
第1个回答  2018-11-23

1,printf函数原型extern int printf(const char *format,...)。

2,fprintf函数原型为int fprintf( FILE *stream, const char *format, [ argument ]...)。

3,printf用于向终端(显示器、控制台等)输出字符,格式控制由要输出的文字和数据格式说明组成。

4,fprintf其作用是传送格式化输出到一个文件中与打印机,输出函数根据指定的格式向输出流写入数据。

扩展资料

fprintf( )会根据参数format 字符串来转换并格式化数据, 然后将结果输出到参数stream 指定的文件中, 直到出现字符串结束('\0')为止。

需要注意的一点是,头文件<stdio.h>为旧版C语言用法,是错误的。

int fprintf (FILE* stream, const char*format, [argument])

FILE*stream:文件指针

const char* format:输出格式

[argument]:附加参数列表

fprintf()函数根据指定的format(格式)发送信息(参数)到由stream(流)指定的文件. fprintf()只能和printf()一样工作. fprintf()的返回值是输出的字符数,发生错误时返回一个负值.

printf在c语言中产生格式化输出的函数(定义在 stdio.h 中),其向未重定向终端(显示器、控制台等)输出字符。格式控制由要输出的文字和数据格式说明组成。

要输出的文字除了可以使用字母、数字、空格和一些数字符号以外,还可以使用一些转义字符表示特殊的含义。

Format 参数是包含三种对象类型的一个字符串。

* 无格式字符复制到输出流。

* 转换规范,每个规范导致在值参数列表中检索 1 个或更多个项。

* 转义序列。

本回答被网友采纳
第2个回答  2018-11-22

1、作用不同:fprintf是用于文件操作的;printf就是在屏幕打印出一段字符串。

2、原型不同:fprintf原型是int fprintf( FILE *stream, const char *format [, argument ]...);printf原型是int printf( const char *format [, argument]...) 。

3、输出不同:fprintf(stdout, "This is a test.\n");
和printf("This is a test.\n")。

扩展资料

用法

1、fprintf

#include <cstdio>

#include<cstdlib>

int fprintf( FILE *stream, const char *format, ... );

fprintf()函数根据指定的format(格式)发送信息(参数)到由stream(流)指定的文件. fprintf()只能和printf()一样工作. fprintf()的返回值是输出的字符数,发生错误时返回一个负值。

2、printf

printf 函数的一般形式为:

int printf(const char *format, [argument]);

以上形式,我们在Visual C++里输入“printf”(将会看到)。

说明printf函数类型为整型,其返回值是整型值。

其值为printf实际控制输出的字符数。

参考资料:百度百科-printf

百度百科-fprintf

本回答被网友采纳
第3个回答  2018-11-21

fprintf和printf是计算机C语言中的命令符,区别如下:

1.函数原型不同

fprintf的函数原型为:int fprintf( FILE *stream, const char *format, [ argument ]...);

printf的函数原型为:int printf( const char *format [, argument]... );

2.输出目标不同

fprintf向文件输出:fprintf(fp,"%s",name);fp为文件指针。

printf向字符串(buffer)输出:sprintf(buff,"%s",name);buff为字符数组,printf是标准输出流(stdout)的输出函数,向屏幕标准设备输出,相当于:fprintf(stdout,"%s",name)。

3.作用不同:fprintf是用于文件操作的;printf就是在屏幕打印出一段字符串。

参考资料:百度百科-printf

百度百科-fprintf

本回答被网友采纳
第4个回答  2018-11-17

fprintf和printf是计算机C语言中的命令符,区别如下:

一、函数原型不同

1、fprintf的函数原型为:int fprintf( FILE *stream, const char *format, [ argument ]...);

2、printf的函数原型为:int printf( const char *format [, argument]... );

二、输出目标不同

1、fprintf向文件输出:fprintf(fp,"%s",name);fp为文件指针。

2、printf向字符串(buffer)输出:sprintf(buff,"%s",name);buff为字符数组,printf是标准输出流(stdout)的输出函数,向屏幕标准设备输出,相当于:fprintf(stdout,"%s",name)。

三、用法不同

1、fprintf

#include <stdio.h>

#include<stdlib.h>

int fprintf( FILE *stream, const char *format, ... );

fprintf()函数根据指定的format(格式)发送信息(参数)到由stream(流)指定的文件. fprintf()只能和printf()一样工作. fprintf()的返回值是输出的字符数,发生错误时返回一个负值.

2、printf

printf 函数的一般形式为:

int printf(const char *format, [argument]);

以上形式,我们在Visual C++里输入“printf”(将会看到)。

说明printf函数类型为整型,其返回值是整型值。

printf函数实际上是将所有参数按字符输出,根据该函数的参数1(const char *format)。

其值为printf实际控制输出的字符数。

参考资料:百度百科-printf

百度百科-fprintf

本回答被网友采纳