fwrite(&stud[i],sizeof(student_type),1,fp)!=1

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了fwrite(&stud[i],sizeof(student_type),1,fp)!=1相关的知识,希望对你有一定的参考价值。

各位大侠们,这句话是什么意思!!!

!=1中,1表示调用fwrite()成功,其实fwrite()调用成功
返回值
是写的模块数(而你在函数中填的模块数为1),!=1表示调用fwrite()函数失败.
参考技术A size_t
fwrite(
const
void
*buffer,
size_t
size,
size_t
count,
file
*stream
);
将缓冲区*buffer中的内容写到流*stream中,每块的大小为size,块数为count,返回值为实际写出块数。

56.fread fwrite

  • fwrite
     1 //初始化数组
     2     int a[100];
     3     for (int i = 0; i < 100;i++)
     4     {
     5         printf("\n%d", a[i] = i);
     6     }
     7 
     8     //以写的方式打开文件
     9     FILE *pf = fopen("C:\\1.bin", "wb");
    10 
    11     //写入第一个内存首地址,第二个元素大小,第三个个数
    12     int num=fwrite(a, sizeof(int), 99, pf);
    13     //返回写入成功的个数.失败返回0
    14     printf("fwrite  return =%d", num);
    15     fclose(pf);

     

  • fread
    1 //分配大小
    2     void *p = malloc(400);
    3     //以读的方式打开文件
    4     FILE *pf = fopen("C:\\1.bin", "rb");
    5     //第一个内存首地址,第二个元素大小,第三个个数
    6     int num= fread(p, 4, 100, pf);
    7     //返回读取成功个数
    8     printf("fread  return =%d", num);
    9     fclose(pf);

     

以上是关于fwrite(&stud[i],sizeof(student_type),1,fp)!=1的主要内容,如果未能解决你的问题,请参考以下文章

If(fwrite(&stud[i],sizeof(struct student_type),1,fp)!=1) 是啥意思?

fwrite(&st[i],sizeof(struct staff),1,fp)!=1啥意思

C语言fwrite 结构体换行问题(初学C语言)

c语言文件操作fwrite和fread

C语言 将一个磁盘文件中的信息复制到另一个磁盘文件中,要求使用 fread fwrite这两个函数来实现

fwrite & fread 的使用