未在项目中创建文件

时间:2018-12-14 16:53:46

标签: c

当我调用fopen函数时,它根本不执行任何操作,当我打开项目时,该文件不存在,并且在程序中也不执行任何操作。我要在此功能中执行的操作是从文件中删除某些内容,然后通过忽略要删除的部分并将其余部分复制到“ aux.bin”文件中,然后将其复制到初始文件中来执行此操作

void stergereAngajat (char CNP[14])
{
    FILE* fin = fopen("angajati.bin", "rb+");
    FILE* fout = fopen("aux.bin", "wb+");
    Angajat a;
     while (fread(a.CNP, 14 * sizeof(char), 1, fin) == 1)
    {
        int nr;
        fread(&nr, sizeof(int), 1, fin);
        a.nume = (char*)malloc(nr * sizeof(char));
        fread(a.nume, nr * sizeof(char), 1, fin);
        fread(&a.varsta, sizeof(int), 1, fin);
        fread(&a.salariu, sizeof(int), 1, fin);
        if (strcmp(a.CNP, CNP) != 0)
        {
            fwrite(a.CNP, 14 * sizeof(char), 1, fout);
            fwrite(&nr, sizeof(int), 1, fout);
            fwrite(a.nume, nr * sizeof(char), 1, fout);
            fwrite(&a.varsta, sizeof(int), 1, fout);
            fwrite(&a.salariu, sizeof(int), 1, fout);
        }
    }
    fflush(fout);
    char c;
    while ((c = fgetc(fout)) != EOF)
        fputc(c, fin);
    fclose(fin);
    fclose(fout);

}

0 个答案:

没有答案