fwrite(&st【i】,sizeof(struct student),1,fp)什么意思啊?拜托_百度...
发布网友
发布时间:2024-04-02 02:33
我来回答
共3个回答
热心网友
时间:2024-06-12 14:12
把地址
&st[i]
中的数据 长度为sizeof(struct student)的数据 写到打开的文件fp中
简单点说 就是把st数组的第i个数据 写到文件里面(二进制方式)
热心网友
时间:2024-06-12 14:10
一定是程序前面有结构定义(假设元素个数是10的情况):
struct student { .... } st[10];
然后又有用fp打开写的文件且用的是"wb+"或"wb"这样的属性打开的
然后循环将数组中每个结构写入文件,如:
for ( i=0;i<10;i++ ) fwrite(&st[i],sizeof(struct student),1,fp);
这句fwrite的第1个参数给出了要写入数据的起始地址
第2个参数给出要写入数据的字节数
第3个参数给出要写入数据的次数(或者说个数=1记录)
最后参数给出要写到哪个句柄打开的文件中去。
热心网友
时间:2024-06-12 14:12
首先看fwrite的man:
size_t fwrite(const void *ptr, size_t size, size_t nmemb, FILE *stream);
The function fwrite() writes nmemb elements of data, each size bytes long, to the stream pointed to by stream, obtaining them from the location given by ptr.
就是从st[i]的地址取--》1个(第三个参数,是2的话就是2个)sizeof(struct student)长度的数据--》写进fp文件指针代表的文件。