文件打开导致的断言错误

时间:2015-02-12 14:17:25

标签: c file fopen assertion

我想知道是否有人能发现一些明显的事情,我在尝试打开文本文件时遇到了断言错误。我已经尝试了许多不同的方法来解决这个问题而没有运气。代码:

        FILE *fc;
        fc = fopen("test_text.txt", "w+");
        if(fc == NULL)
        {
              printf("error opening file\n");
        }

       fprintf(fc, "%02x  %02x  %02x  %s", bac_map[0].device_id, bac_map[0].status, bac_map[0].short_addr, bac_map[0].mode);

       for(j = 0; j < object_index; j++)
       {
               fprintf(fc, "             \t %d",bac_map[0].objects_avail[j]);
       }
       fprintf(fc, "\t\t\t\t\t\t\n", bac_map[0].product_id[0]);
       fclose(fc);

错误发生在“fopen”之后直接打开我尝试过的文件的其他方法:

     FILE *fc;
     const char* bac = "test_text.txt";
     fc = fopen(bac, "w+");
     .
     .
     .

但我收到了同样的错误。这段代码也包含在循环中,但是我通过循环在每次迭代中打开和关闭文件。此外,出于测试目的,我在循环之前和之后放置了相同的块,以尝试确定这是否是问题的原因,但没有运气。此外,我存储值的结构似乎也很好,他们使用“printf”打印就好了。我没有看到文件开放和结构之间有任何关联,但也许其他人知道这是否会导致问题?任何建议表示赞赏。

0 个答案:

没有答案