c语言中fprintf
⑴ 请问c语言中printf和fprintf有什么不同能不能说具体一点我是个初学者。谢谢!
printf是普通的输出,也就是通常用的,是以整个输出窗口为参考系
fprintf是在自己建立的文本里面输出,要先建立文本,才能用fprintf在文本中输出,是以你建立的文本窗口为参考系
⑵ c语言fprintf
因为fprintf和printf类似,输出的内容取决于字符串和参数,但fprintf的操作对象是文件而不是标准输出设备。
格式化输出就是根据“格式化字符串”的内容决定“具体输出”的内容,比如
printf("%s,hello!","XXX");
"%s, hello!"就是格式化字符串,有点像模板,只是告诉函数一个轮廓,具体的细节由后面的参数("XXX")决定。所以具体输出是“XXX, hello!”,这个你应该知道吧?
⑶ C语言 fwrite()和fprintf()的区别
fwrite是向流中写入数据,而fprintf是向流中写入格式数据。两者的共同点为向流中写入数据,至于区别可以看看两者的申明:
size_tfwrite(
constvoid*buffer,
size_tsize,
size_tcount,
file*stream
);
intfprintf(
file*stream,
constchar*format[,
argument]...
);
前者fwrite写入流stream中的数据是buffer指定的内容,内容的字节大小分别由size和count两个参数来指定,因此写入流stream中的内容有可能是乱码,但是有效的数据。
后者fprintf写入流stream中的数据则由argument来指定,并且这些argument的内容分别由format指定的格式来显示,因此写入stream的内容通常来说是文本字符流,当然,也允许写入格式乱码。
两者都可以将文本写入流stream中。比如:
fwrite("helloworld!",1,12,fp);
与
fprintf(fp,"%s","helloworld!");
等价。
⑷ 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()实际写入数组的字符个数。
(4)c语言中fprintf扩展阅读:
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
⑸ C语言中,“printf"与“fprintf”有什么区别吖
printf是格式化输入输出,和一楼说的是一样的。
fprintf是文件操作函数,一般格式是:
fprintf(文件指针,格式字符串,输入表列)。
⑹ c语言关于fprintf的问题。
r 以只读方式打开文件,该文件必须存在。
r+ 以可读写方式打开文件,该文件必须存在。
rb+ 读写打开一个二进制文件,允许读写数据,文件必须存在。
rw+ 读写打开一个文本文件,允许读和写。
w 打开只写文件,若文件存在则文件长度清为0,即该文件内容会消失。若文件不存在则建立该文件。
w+ 打开可读写文件,若文件存在则文件长度清为零,即该文件内容会消失。若文件不存在则建立该文件。
你是以只读方式打开文件的,所以没有写入文件的权限,如果要写入文件,应该用W+模式。
#include<stdio.h>
#include<stdlib.h>
intmain()
{
FILE*fp;
charfilename[40];
gets(filename);
if((fp=fopen
(filename,"w+"))!=NULL)
printf("succsssful");
//格式化输出
fprintf(fp,"%s",filename);
}
⑺ C语言怎么把字符串用fprintf写入文本文件
把把字符串写入文件,基本示例如下:
FILE *fp;
char s[]= "hello world!";
char c = ' ';
fp = fopen("file.txt","a");
fprintf(fp,"%s",s); //字符串使用%s
fprintf(fp,"%c",c); //字符使用%cfclose(fp);从文件读取到字符串 char s1[30];fp=fopen("file.txt","r");fscanf(fp, "%[^ ] ", s1);printf("%s ",s1);fclose(fp); 本来挺简单的一件事,可是让我头疼了好几个小时。
在前面写了 fp = fopen("file.txt","a");
fprintf(fp,"%s",s); //字符串使用%s
但是fclose(fp);这句被我写在了return 0;之前,然后字符串死活写不进文件里面去。后来终于发现是因为使用了while(1)循环读取端口数据,所以一直没有执行fclose(fp);这句,才导致文件里面一直是空的。所以fclose(fp);这句话不要忘记了哦~~ :)
⑻ c中fprintf的用法
%5d 的意思:5代表输出的数是五位数,d代表输出的格式为整型。
%6.3f的意思是:6代表输出六位数,3代表小数点后面有三位数,(其中6包含小数点的位数),f代表按浮点数输出 (float)
'\'是转义字符,\n是换行,\\n是输出'\n'
⑼ c语言fprintf的用法
用法示例:将数据输入到文件1.txt中并打开1.txt文件。
#include<stdio.h>
#include<stdlib.h>
FILE*stream;
intmain()
{
inti=10;
doublefp=1.5;
chars[]="thisisastring";
charc=' ';
stream=fopen("1.txt","w");
fprintf(stream,"%s%c",s,c);
fprintf(stream,"%d ",i);
fprintf(stream,"%f ",fp);
fclose(stream);
system("1.txt");
return0;
}
(9)c语言中fprintf扩展阅读:
功能
fprintf()函数根据指定的格式(format),向输出流(stream)写入数据(argument)。
函数说明
fprintf( )会根据参数format 字符串来转换并格式化数据,然后将结果输出到参数stream 指定的文件中,直到出现字符串结束('