就是用if((fwrite(&stu,len,1,fp)!=1)
printf("不能保存")
后面输出不能保存了
stu是我定义的结构体,len是stu
的字节长度
看一下fwrite的返回值的含义
该回答引用GPTᴼᴾᴱᴺᴬᴵ
在使用 fwrite 函数写入文件时,需要确保文件打开模式为写入(w 或 w+),否则无法写入成功。同时,还需要确保文件存在或者能够创建新的文件进行写入。
另外,你可以在输出错误信息时,使用 perror() 函数,它可以输出系统定义的错误信息,便于查错。下面是一个示例代码:
#include <stdio.h>
typedef struct {
char name[20];
int age;
} Student;
int main() {
Student stu = {"Tom", 18};
size_t len = sizeof(stu);
FILE* fp = fopen("students.txt", "w");
if (fp == NULL) {
perror("Failed to open file");
return -1;
}
if (fwrite(&stu, len, 1, fp) != 1) {
perror("Failed to write file");
return -1;
}
fclose(fp);
printf("Saved successfully\n");
return 0;
}
在运行时,如果无法打开文件或者写入失败,会输出相应的错误信息。