c语言文件fwrite,C语言中的文件写函数fwrite的问题,如何解决?

c语言文件fwrite,C语言中的文件写函数fwrite的问题,如何解决?_第1张图片

fwrite(将数据写至文件流)

相关函数  fopen,fread,fseek,fscanf

表头文件  #include

定义函数  size_t fwrite(const void * ptr,size_t size,size_t nmemb,FILE * stream);

函数说明  fwrite()用来将数据写入文件流中。参数stream为已打开的文件指针,参数ptr 指向欲写入的数据地址,总共写入的字符数以参数size*nmemb来决定。Fwrite()会返回实际写入的nmemb数目。

返回值  返回实际写入的nmemb数目。

范例  #include

#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

定义函数  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

#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

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

◆◆

评论读取中....

请登录后再发表评论!

◆◆

修改失败,请稍后尝试

你可能感兴趣的:(c语言文件fwrite)