当前位置:首页 » 编程语言 » c语言fprintf的用法

c语言fprintf的用法

发布时间: 2022-12-15 18:45:52

A. c语言Fopen函数的用法

fopen函数用来打开一个文件,其调用的一般形式为:
文件指针名=fopen(文件名,使用文件方式);
其中,
“文件指针名”必须是被说明为FILE 类型的指针变量;
“文件名”是被打开文件的文件名;
“使用文件方式”是指文件的类型和操作要求。
“文件名”是字符串常量或字符串数组。
例如:
FILE *fp;
fp=("file a","r");
其意义是在当前目录下打开文件file a,只允许进行“读”操作,并使fp指向该文件。
又如:
FILE *fphzk
fphzk=("c:\\hzk16","rb")
其意义是打开C驱动器磁盘的根目录下的文件hzk16,这是一个二进制文件,只允许按二进制方式进行读操作。两个反斜线“\\ ”中的第一个表示转义字符,第二个表示根目录。
使用文件的方式共有12种,下面给出了它们的符号和意义。
文件使用方式
意义
“rt”
只读打开一个文本文件,只允许读数据
“wt”
只写打开或建立一个文本文件,只允许写数据
“at”
追加打开一个文本文件,并在文件末尾写数据
“rb”
只读打开一个二进制文件,只允许读数据
“wb”
只写打开或建立一个二进制文件,只允许写数据
“ab”
追加打开一个二进制文件,并在文件末尾写数据
“rt+”
读写打开一个文本文件,允许读和写
“wt+”
读写打开或建立一个文本文件,允许读写
“at+”
读写打开一个文本文件,允许读,或在文件末追加数据
“rb+”
读写打开一个二进制文件,允许读和写
“wb+”
读写打开或建立一个二进制文件,允许读和写
“ab+”
读写打开一个二进制文件,允许读,或在文件末追加数据
对于文件使用方式有以下几点说明:
1) 文件使用方式由r,w,a,t,b,+六个字符拼成,各字符的含义是:
r(read): 读
w(write): 写
a(append): 追加
t(text): 文本文件,可省略不写
b(banary): 二进制文件
+: 读和写
2) 凡用“r”打开一个文件时,该文件必须已经存在,且只能从该文件读出。
3) 用“w”打开的文件只能向该文件写入。若打开的文件不存在,则以指定的文件名建立该文件,若打开的文件已经存在,则将该文件删去,重建一个新文件。
4) 若要向一个已存在的文件追加新的信息,只能用“a”方式打开文件。但此时该文件必须是存在的,否则将会出错。
5) 在打开一个文件时,如果出错,fopen将返回一个空指针值NULL。在程序中可以用这一信息来判别是否完成打开文件的工作,并作相应的处理。因此常用以下程序段打开文件:
6) if((fp=fopen("c:\\hzk16","rb")==NULL)
{
printf("\nerror on open c:\\hzk16 file!");
getch();
exit(1);
}
这段程序的意义是,如果返回的指针为空,表示不能打开C盘根目录下的hzk16文件,则给出提示信息“error on open c:\ hzk16 file!”,下一行getch()的功能是从键盘输入一个字符,但不在屏幕上显示。在这里,该行的作用是等待,只有当用户从键盘敲任一键时,程序才继续执行,因此用户可利用这个等待时间阅读出错提示。敲键后执行exit(1)退出程序。
7) 把一个文本文件读入内存时,要将ASCII码转换成二进制码,而把文件以文本方式写入磁盘时,也要把二进制码转换成ASCII码,因此文本文件的读写要花费较多的转换时间。对二进制文件的读写不存在这种转换。
8) 标准输入文件(键盘),标准输出文件(显示器),标准出错输出(出错信息)是由系统打开的,可直接使用。

B. 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()实际写入数组的字符个数。

(2)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. c语言fprintf

因为fprintf和printf类似,输出的内容取决于字符串和参数,但fprintf的操作对象是文件而不是标准输出设备。

格式化输出就是根据“格式化字符串”的内容决定“具体输出”的内容,比如

printf("%s,hello!","XXX");

"%s, hello!"就是格式化字符串,有点像模板,只是告诉函数一个轮廓,具体的细节由后面的参数("XXX")决定。所以具体输出是“XXX, hello!”,这个你应该知道吧?

D. 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);这句话不要忘记了哦~~ :)

E. 求救!!如何在c语言中用fprintf函数输出txt文件

fprintf 简介 c/c++语言函数: fprintf 功 能 传送格式化输出到一个文件中 用 法 #include <stdio.h> int fprintf( FILE *stream, const char *format, ... ); fprintf()函数根据指定的format(格式)(格式)发送信息(参数)到由stream(流)指定的文件. fprintf()只能和printf()一样工作. fprintf()的返回值是输出的字符数,发生错误时返回一个负值. 返回值 成功时返回转换的字节数,失败时返回一个负数. 在LINUX/UNIX操系统中成功返回0,失败返回-1。并置errno值. 程序例 /* Program to create backup of the AUTOEXEC.BAT file */ #include <stdio.h> int main(void) { FILE *in, *out; if ((in = fopen("//AUTOEXEC.BAT", "rt")) == NULL) { fprintf(stderr, "Cannot open input file./n"); return 1; } if ((out = fopen("//AUTOEXEC.BAK", "wt")) == NULL) { fprintf(stderr, "Cannot open output file./n"); return 1; } while (!feof(in)) fputc(fgetc(in), out); fclose(in); fclose(out); return 0; } 举例用法: #include <stdio.h> #include <process.h> FILE *stream; void main( void ) { 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" ); } 屏幕输出: this is a string 10 1.500000 格式化规定符 %d 十进制有符号整数 %u 十进制无符号整数 %f 浮点数 %s 字符串 %c 单个字符 %p 指针的值 %e 指数形式的浮点数 %x, %X 无符号以十六进制表示的整数 %0 无符号以八进制表示的整数 %g 自动选择合适的表示法

F. 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!");
等价。

G. C语言文件 fprintf函数的问题

一、作用区别: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:返回值是输出的字符数,发生错误时返回一个负值。

H. c中fprintf的用法

%5d 的意思:5代表输出的数是五位数,d代表输出的格式为整型。
%6.3f的意思是:6代表输出六位数,3代表小数点后面有三位数,(其中6包含小数点的位数),f代表按浮点数输出 (float)
'\'是转义字符,\n是换行,\\n是输出'\n'

热点内容
取票人的密码是什么 发布:2024-05-20 08:21:43 浏览:962
天猫帐号密码应输入什么 发布:2024-05-20 08:16:26 浏览:272
plsql异常处理 发布:2024-05-20 07:54:47 浏览:542
dreamweaver上传网页 发布:2024-05-20 07:51:24 浏览:462
拍摄车的分镜头脚本 发布:2024-05-20 07:50:15 浏览:137
mg名爵最高配置是哪个 发布:2024-05-20 07:45:11 浏览:376
辅助官网源码 发布:2024-05-20 07:31:48 浏览:866
androidbutton的属性 发布:2024-05-20 07:18:58 浏览:637
查找重复字段的sql 发布:2024-05-20 07:18:17 浏览:303
我的世界创造房子服务器 发布:2024-05-20 06:48:36 浏览:818