fwrite(&l->a[l->size], sizeof(music), 1, fp) != 1这段代码有什么问题
时间: 2023-02-17 22:02:50 浏览: 155
fwrite 是 C 语言中的一个函数,它的作用是将数据写入文件。该函数原型如下:
size_t fwrite(const void *ptr, size_t size, size_t nmemb, FILE *stream);
其中,ptr 指向要写入的数据的地址,size 表示每个数据的大小(以字节为单位),nmemb 表示要写入的数据的数量,stream 指向要写入的文件的指针。
fwrite 返回实际写入的数据的数量,如果返回的值与 nmemb 不同,则表示发生了写入错误。
使用 fwrite 时,需要先用 fopen 打开文件,然后使用 fwrite 将数据写入文件,最后使用 fclose 关闭文件。
示例代码如下:
```
#include <stdio.h>
int main(int argc, char **argv) {
FILE *fp = fopen("test.txt", "w");
if (fp == NULL) {
perror("fopen failed");
return -1;
}
const char *data = "Hello, world!";
size_t nmemb = 1;
size_t size = strlen(data);
size_t written = fwrite(data, size, nmemb, fp);
if (written != nmemb) {
perror("fwrite failed");
fclose(fp);
return -1;
}
fclose(fp);
return 0;
}
```
这段代码打开了一个文件 "test.txt",然后使用 fwrite 将字符串 "Hello, world!" 写入文件中。如果写入成功,则文件 "test.txt" 的内容将会是 "Hello, world!"。
阅读全文