我想知道是否有人能发现一些明显的事情,我在尝试打开文本文件时遇到了断言错误。我已经尝试了许多不同的方法来解决这个问题而没有运气。代码:
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”打印就好了。我没有看到文件开放和结构之间有任何关联,但也许其他人知道这是否会导致问题?任何建议表示赞赏。