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 函数读写二进制文件?

C 语言文件操作 ( fwrite 函数 )

fscanf函数和fprintf函数fgets函数和fputs函数fread函数和fwrite函数

MATLAB fwrite 怎么换行

高分!!请高手帮忙解释一下.fread函数出错了!

C 语言文件操作 ( fread 函数 )