C语言文件读取功能出错

读取文件内容直接报错

代码附上 sw是写 du是读

void sw()
{
    int u;
    FILE *fp;
    char fileadd[100]={"H:\\tem\\"};
    char filename[100];
    printf("请输入您要保存的文件名:(需要加后缀哦)\n");
    scanf("%s",filename);
    strcat(fileadd,filename);
    fp = fopen(fileadd,"w+");
    if(fp==NULL)
        printf("文件打开错误");
    else
        for(u=0;u<i;u++)
            fprintf(fp,"%s %s %d %d %d %s",s[u].num,s[u].name,s[u].birthday.year,s[u].birthday.mount,s[u].birthday.day,s[u].add);
        fclose(fp);
        printf("保存成功");
    Sleep(1000);
    jm();
}

void du()
{
    int u;
    i = p;
    FILE *fp;
    fp = fopen("H:\\tem\\test.txt","w+");
    if(fp=NULL)
    {
        printf("没有之前的数据\n");
    }
    else
        for(u=0;u<i;u++)
            fscanf(fp,"%s%s%d%d%d%s",s[u].num,s[u].name,&s[u].birthday.year,&s[u].birthday.mount,&s[u].birthday.day,s[u].add);
    printf("读取成功\n");
}

 

fp = fopen(fileadd,"r"); 第二参数r是读取文本文件,rb是读取二进制文件

谢谢,已经解决了,是赋值和判断的问题