fwrite()函数和fread()函数分别有几个返回值?分别代表啥意思?(C语言)
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了fwrite()函数和fread()函数分别有几个返回值?分别代表啥意思?(C语言)相关的知识,希望对你有一定的参考价值。
参考技术A 分类: 电脑/网络 >> 程序设计 >> 其他编程语言解析:
fwrite(将数据写至文件流)
相关函数 fopen,fread,fseek,fscanf
表头文件 #include<stdio.h>
定义函数 size_t fwrite(const void * ptr,size_t size,size_t nmemb,FILE * stream);
函数说明 fwrite()用来将数据写入文件流中。参数stream为已打开的文件指针,参数ptr 指向欲写入的数据地址,总共写入的字符数以参数size*nmemb来决定。Fwrite()会返回实际写入的nmemb数目。
返回值 返回实际写入的nmemb数目。
范例 #include<stdio.h>
#define set_s (x,y) strcoy(s[x].name,y);s[x].size=strlen(y);
#define nmemb 3
struct test
char name[20];
int size;
s[nmemb];
main()
FILE * stream;
set_s(0,”Linux!”);
set_s(1,”FreeBSD!”);
set_s(2,”Windows2000.”);
stream=fopen(“/tmp/fwrite”,”w”);
fwrite(s,sizeof(struct test),nmemb,stream);
fclose(stream);
执行 参考fread()。
fread(从文件流读取数据)
相关函数 fopen,fwrite,fseek,fscanf
表头文件 #include<stdio.h>
定义函数 size_t fread(void * ptr,size_t size,size_t nmemb,FILE * stream);
函数说明 fread()用来从文件流中读取数据。参数stream为已打开的文件指针,参数ptr 指向欲存放读取进来的数据空间,读取的字符数以参数size*nmemb来决定。Fread()会返回实际读取到的nmemb数目,如果此值比参数nmemb 来得小,则代表可能读到了文件尾或有错误发生,这时必须用feof()或ferror()来决定发生什么情况。
返回值 返回实际读取到的nmemb数目。
附加说明
范例 #include<stdio.h>
#define nmemb 3
struct test
char name[20];
int size;
s[nmemb];
main()
FILE * stream;
int i;
stream = fopen(“/tmp/fwrite”,”r”);
fread(s,sizeof(struct test),nmemb,stream);
fclose(stream);
for(i=0;i<nmemb;i++)
printf(“name[%d]=%-20s:size[%d]=%d\n”,i,s[i].name,i,s[i].size);
执行 name[0]=Linux! size[0]=6
name[1]=FreeBSD! size[1]=8
name[2]=Windows2000 size[2]=11
以上是关于fwrite()函数和fread()函数分别有几个返回值?分别代表啥意思?(C语言)的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 fread 和 fwrite 函数读写二进制文件?