保存不了信息,求解!

就是用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;
}


在运行时,如果无法打开文件或者写入失败,会输出相应的错误信息。