尝试从二进制文件读取文本文件时,数组未出现在文本文件中

时间:2019-03-12 17:18:03

标签: c

#include<stdio.h>
#include<conio.h>

typedef struct {
      char CNP[14];
      char nume[30];
      int an;
      int grupa;
      int nrDiscipline;
      char note[20];
} STUDENT;

void main() {
    FILE*f;
    char numef[20];
    STUDENT s;
    printf("Nume fisier:"); gets(numef);
    f = fopen(numef, "rb");
    if (!f)
        printf("eroare");
    else {
        FILE*g;
        fopen_s(&g,"stud.txt", "w");
        fread(&s, sizeof(STUDENT), 1, f);
        while (!feof(f)) {
            fprintf( g,"%s %s %d %d %d ", s.CNP, s.nume, s.an, s.grupa, s.nrDiscipline);
            for (int i = 0; i < s.nrDiscipline; i++)
            {
                fprintf(g, "%s", s.note[i]);   
            }

            fread(&s, sizeof(STUDENT), 1, f);
        }
        fclose(g); fclose(f);

    }

}

首先,我创建了二进制文件,该文件运行良好,但是随后我打开了文本文件,并且数组不正确,它似乎包含一些随机数,可能还有一些地址。我尝试了一切,但没有用。

0 个答案:

没有答案