百度
360搜索
搜狗搜索

fprintf函数的功能,printf 和 fprintf 在c 和c++中的使用。详细介绍

本文目录一览: fprintf函数的用法有哪些?

用法示例:将数据输入到文件1.txt中并打开1.txt文件。
#include

#include

FILE* stream;

int main()

{

int i = 10;

double fp = 1.5;

char s[] = "this is a string";

char c = '\n';

stream = fopen("1.txt", "w");

fprintf(stream, "%s%c", s, c);

fprintf(stream, "%d\n", i);

fprintf(stream, "%f\n", fp);

fclose(stream);

system("1.txt");

return 0;

}

fprintf语法形式

1、函数声明

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

2、参数

stream-- 这是指向 FILE 对象的指针,该 FILE 对象标识了流。

format-- 这是 C 字符串,包含了要被写入到流 stream 中的文本。它可以包含嵌入的 format 标签,format 标签可被随后的附加参数中指定的值替换,并按需求进行格式化。

[argument]:附加参数列表。

1、函数声明

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

2、参数

stream-- 这是指向 FILE 对象的指针,该 FILE 对象标识了流。

format-- 这是 C 字符串,包含了要被写入到流 stream 中的文本。它可以包含嵌入的 format 标签,format 标签可被随后的附加参数中指定的值替换,并按需求进行格式化。

format 标签属性是%[flags][width][.precision][length]specifier

[argument]:附加参数列表

3、功能

fprintf()函数根据指定的格式(format),向输出流(stream)写入数据(argument)。

4、函数说明

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

程序示例:

#include

int main(void)

{

FILE *in,*out;

in = fopen("\\AUTOEXEC.BAT", "rt");

if(in == NULL)

{

fprintf(in, "Can not open inputfile.\n");

return 1;

}

out = fopen("\\AUTOEXEC.BAT", "wt");

if(out == NULL)

{

fprintf(out, "Can not open outputfile.\n");

return 1;

}

while(!feof(in))

fputc(fgetc(in), out);

fclose(in);

fclose(out);

return 0;

}

C语言文件 fprintf函数的问题

C语言文件
fprintf函数与printf函数的作用相仿,都是格式化读写函数。所不同的是,fprintf函数的读写对象是磁盘文件,即是文件输出命令。而printf函数的读写对象是终端。
具体说来,fprintf函数的功能是:把args的值以format指定的格式输出到fp所制定的文件中。
它的原型是:
int
fprintf(fp,format,
args,…)
FILE
*fp;
char
*format;
返回值类型:整型,为实际输出的字符数
他的调用方式是:fprintf(文件指针,格式字符串,输出表列);
格式字符包括:%d,
%c,%f等,与printf的格式字符相同。
需要说明的是,此函数必须先将文件打开,并指明写入方式后才能使用。这个函数使用方便、易于理解,但是写入时要将ASCII码转换为二进制,花费时间较多,因此在内存与磁盘频繁交换数据时,最好不用fprintf函数,而用fwrite函数。用完该函数后,还要关闭打开的文件。
一、作用区别:fwrite是c语言函数,指向文件写入一个数据块。fprintf是c/c++中的一个格式化写—库函数;其作用是格式化输出到一个流/文件中;二、函数原型区别:fwrite:size_t
fwrite(const
void*
buffer,
size_t
size,
size_t
count,
file*
stream);fprintf:int
fprintf
(file*
stream,
const
char*format,
[argument]);三、返回值区别:fwrite:返回实际写入的数据项个数。fprintf:返回值是输出的字符数,发生错误时返回一个负值。

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

fprintf函数的用法是什么?

用法示例:将数据输入到文件1.txt中并打开1.txt文件。
#include

#include

FILE* stream;

int main()

{

int i = 10;

double fp = 1.5;

char s[] = "this is a string";

char c = '\n';

stream = fopen("1.txt", "w");

fprintf(stream, "%s%c", s, c);

fprintf(stream, "%d\n", i);

fprintf(stream, "%f\n", fp);

fclose(stream);

system("1.txt");

return 0;

}

扩展资料:

fprintf函数可以将数据按指定格式写入到文本文件中。其调用格式为:

数据的格式化输出:fprintf(fid,format,variables)

按指定的格式将变量的值输出到屏幕或指定文件

fid为文件句柄,若缺省,则输出到屏幕

1forstandardoutput(thescreen)or2forstandarderror.IfFIDisomitted,outputgoestothescreen.

format用来指定数据输出时采用的格式

%d整数

%e实数:科学计算法形式

%f实数:小数形式

%g由系统自动选取上述两种格式之一

%s输出字符串

fprintf(fid,format,A)

说明:fid为文件句柄,指定要写入数据的文件,format是用来控制所写数据格式的格式符,与fscanf函数相同,A是用来存放数据的矩阵。

例6.9创建一个字符矩阵并存入磁盘,再读出赋值给另一个矩阵。

>>a='string';

>>fid=fopen('d:\char1.txt','w');

>>fprintf(fid,'%s',a);

>>fclose(fid);

>>fid1=fopen('d:\char1.txt','rt');

>>fid1=fopen('d:\char1.txt','rt');

>>b=fscanf(fid1,'%s')

b=

string

matlab读txt文件

fid=fopen('fx.txt','r');

%得到文件号

[f,count]=fscanf(fid,'%f%f',[12,90]);

%把文件号1的数据读到f中。其中f是[1290]的矩阵

%这里'%f%f'表示读取数据的形势,他是按原始数据型读出

fclose(fid);

%关闭文件

另外有的txt文件还可以用load来打开

其语句为

f=load('fx.txt)

参考资料来源:百度百科-fprintf

阅读更多 >>>  fscanf和fprintf的区别,为什么很多库函数名称前有f 如fscanf ,fclose,fprintf, 等等,这是什么意思

C语言文件 fprintf函数的问题

stu[1]; -- 你循环到 i<2, 数组大小 至少要 stu[2];
"%20s%10s%8d 不需要这样麻烦 输入格式同输入的内容配合即可。
"%s %s %d" 输入的3个项,每项长度可变,它们之间用空白分隔。
例如:
wang 301 87
===
fscanf(fp,"%8d",got[i]); 我们的文件是顺序文件,文件打开时,读的数据在文件开始处。 依次写入的东西,依次才能读出。除非你用 fseek 或其它办法 找到地方。
例如:
fscanf(fp,"%*s %*s %d", &got[i]); // 别忘了 &号。
C语言文件 fprintf函数与printf函数的作用相仿,都是格式化读写函数。所不同的是,fprintf函数的读写对象是磁盘文件,即是文件输出命令。而printf函数的读写对象是终端。
具体说来,fprintf函数的功能是:把args的值以format指定的格式输出到fp所制定的文件中。
它的原型是:
int fprintf(fp,format, args,…)
FILE *fp;
char *format;
返回值类型:整型,为实际输出的字符数
他的调用方式是:fprintf(文件指针,格式字符串,输出表列);
格式字符包括:%d, %c,%f等,与printf的格式字符相同。
需要说明的是,此函数必须先将文件打开,并指明写入方式后才能使用。这个函数使用方便、易于理解,但是写入时要将ASCII码转换为二进制,花费时间较多,因此在内存与磁盘频繁交换数据时,最好不用fprintf函数,而用fwrite函数。用完该函数后,还要关闭打开的文件。

请问sprintf、fprintf和printf这三个函数有什么区别?

三个函数的目的一致,即输出格式化的文本内容至屏幕。
一、输出目标不同
1、printf,是把格式化字符串输出到标准输出,即标准输出文件,对应终端的屏幕。
2、sprintf,是把格式化字符串输出到指定字符串,也可作为缓冲区,而printf只能输出到命令行上。
3、fprintf,是把格式化字符串输出到指定文件中。
二、函数原型不同
1、printf函数原型 int printf ( const char * format, ... );
2、sprintf函数原型 int sprintf(char *buffer, const char *format, [argument]...);
3、fprintf函数原型int fprintf( FILE *stream, const char *format, [ argument ]...);
三、语言不同
1、printf()是C语言标准库函数,在 stdio.h 中定义。
2、sprintf()是C/C++语言标准库函数,在 stdio.h 中定义。
3、fprintf是C/C++中的一个格式化库函数,位于头文件

中。

扩展资料

1、printf函数

函数的调用格式为:printf("格式化字符串",输出表列)。

格式化字符串包含三种对象,分别为:

(1)字符串常量;

(2)格式控制字符串;

(3)转义字符。

2、sprintf函数

函数功能:格式化字符串,将格式化的数据写入字符串中。

函数原型:int sprintf(char *buffer, const char *format, [argument]...)

参数:

(1)buffer:是char类型的指针,指向写入的字符串指针;

(2)format:格式化字符串,即在程序中想要的格式;

(3)argument:可选参数,可以为任意类型的数据;

函数返回值:buffer指向的字符串的长度;

参考资料

百度百科-sprintf

百度百科-printf

百度百科-fprintf

都是把格式好的字符串输出,只是输出的目标不一样:

1 printf,是把格式字符串输出到标准输出(一般是屏幕,可以重定向)。

2 sprintf,是把格式字符串输出到指定字符串中,所以参数比printf多一个char*。那就是目标字符串地址。

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

sprintf 是输出到串,一般是直接申请输出到一个字符串中,这个可以用来将大量数字数据转成字符串。

fprintf 是输出到文件,当然,这个文件也可能是虚拟的文件。

printf 是直接输出到标准显示设备,就是屏幕的终端中。

sprintf、fprintf和printf这三个函数区别为:输出不同、参数不同、重定向不同。

一、输出不同

1、sprintf函数:sprintf函数是把格式字符串输出到指定文件设备中。

2、fprintf函数:fprintf函数是把格式字符串输出到指定字符串中。

3、printf函数:printf函数是把格式字符串输出到标准输出中。

二、参数不同

1、sprintf函数:sprintf函数参数比printf多一个char*。

2、fprintf函数:fprintf函数参数比printf多一个文件指针FILE*。

3、printf函数:printf函数参数为字符串string。

三、重定向不同

1、sprintf函数:sprintf函数不可以重定向。

2、fprintf函数:fprintf函数不可以重定向。

3、printf函数:printf函数可以重定向。

matlab中的fprintf('y[%2.0f]=%12.6f',n,y1)是什么意思,详细一些

1、首先,fprintf如果没指定文件句柄,则直接在屏幕上输出。
2、格式字符串中,其它内容都是原样输出,只有百分号后面的内容是要转换的,%2.0f表示要输出的数据(即n)占用2个字符位置,其中小数0位(其实这种情况直接用%2i更好)。类似的,y1输出占12个字符位置,其中小数6位。
3、关于格式化输出,最简单的做法是,给变量赋值,然后执行该语句,看结果是否与预期一致,如果不一致再分析是哪里出了问题。
fprintf如果没指定文件句柄,则直接在屏幕上输出。
格式字符串中,其它内容都是原样输出,只有百分号后面的内容是要转换的,%2.0f表示要输出的数据(即n)占用2个字符位置,其中小数0位(其实这种情况直接用%2i更好)。类似的,y1输出占12个字符位置,其中小数6位。
关于格式化输出,最简单的做法是,给变量赋值,然后执行该语句,看结果是否与预期一致,如果不一致再分析是哪里出了问题。
扩展资料:
fprintf函数可以将数据按指定格式写入到文本文件中,其调用格式为:
数据的格式化输出:fprintf(fid,format,variables)
按指定的格式将变量的值输出到屏幕或指定文件,fid为文件句柄,若缺省,则输出到屏幕
format用来指定数据输出时采用的格式:
%d 整数
%e实数:科学计算法形式
%f实数:小数形式
%g由系统自动选取上述两种格式之一
%s输出字符串
参考资料来源:百度百科-格式字符

printf 和 fprintf 在c 和c++中的使用。

#include "math.h"
#include "stdio.h"
void main()
{
double a=1;
double b=2;
FILE *fp;
a=b;
printf("%f",a);

fp=fopen("d:\\data.txt","w");
fprintf(fp,"%f",a);
fclose(fp);
}
这样就可以, 因为c语言要求所有的变量的定义应该放在函数的最上面,而C++支持任何地方定义变量,这也是c++对C语言的改进之处,所以直接把FILE *fp;这一句放在上面就行了。
c语言必须先定义所有变量声明完后再使用,c++中则可以在使用的时候在定义!您程序里的倒数第4行定义了个double b = 2;属于c++中的规范c语言则会报错!
修改办法将 double b= 2;放到第一条执行语句之前即可
c中的格式
void main()
{
int b;
char ch;
...
...
double a;
//第一条执行语句 ,在第一条语句之后就不能再定义变量了否则就会报错
a+b;
...
...
return ;

}
c++格式
void main()
{
int b;
char ch;
double a;
//第一条执行语句 ,在第一条语句之后就可以再定义变量了在哪用到在哪定义
a+b;
int i;
for(i =0;i < 3;i++)
{
}
...
...
return ;

}
c中没有fprintf函数
在C中应把
double b=2;
移到
可执行语句之前:
double a=1;
double b=2;
...
二者在C语言和C++中的功能是相同的。
1 printf。
C语言的标准格式化输出函数。其调用格式为
int printf(char * format_string, ...);
参数个数不定,依据第一个参数格式字符串中的格式字符,决定后续有多少个参数。
printf会按照格式字符串中的指定的规则,将自身及后续参数值输出到标准输出。
返回值为实际输出变量的个数。
2 fprintf。
C语言的标准格式化输出到文件函数。调用格式为
int fprintf(FILE *fp, char * format_string, ...);
与printf类似,也是根据格式字符串将后续参数输出,不过目标不是固定的标准输出,而是由fp指定的文件。
所以,fprintf的第一个参数设置为stdout时,与printf功能相同。
3 以上两个函数,在C++中同样支持,使用方法相同。不过C++中更推荐使用流对象cout来执行输出。同时使用流对象类fstream来执行文件的操作。

阅读更多 >>>  怎么在linux修改文件名称

fprintf中使用stderr

回答:会打印到屏幕上。
因为:(见MSDN)
fprintf函数的功能是:Printformatteddatatoastream
格式化输出数据到流,这个流并没有特指是文件流。
关于stdin、stdout、stderr的说明如下:
Bydefault,standardinputisreadfromthekeyboard,whilestandardoutputandstandarderrorareprintedtothescreen
默认情况下,标准输入从键盘读取,同时标准输出和标准错误会打印到屏幕。
在控制台测试:
voidmain(void)
{
fprintf(stderr,"%s:%d",__FILE__,__LINE__);
system("pause");
}
会在屏幕显示当前文件的路径和fprintf语句所在的行数。^_^

网站数据信息

"fprintf函数的功能,printf 和 fprintf 在c 和c++中的使用。"浏览人数已经达到21次,如你需要查询该站的相关权重信息,可以点击进入"Chinaz数据" 查询。更多网站价值评估因素如:fprintf函数的功能,printf 和 fprintf 在c 和c++中的使用。的访问速度、搜索引擎收录以及索引量、用户体验等。 要评估一个站的价值,最主要还是需要根据您自身的需求,如网站IP、PV、跳出率等!