C程序在循环中写入同一文件会导致Windows崩溃

时间:2018-07-17 19:38:17

标签: windows crash hang

在对一个较大的程序进行故障排除的过程中,我发现以下原因导致我的计算机以循环变量gg的随机迭代次数重新引导。我以为打开和关闭同一个文件可能是导致此问题的原因(也许是因为它在下一次打开之前没有真正关闭?),所以我也尝试根据循环变量的模数(2)打开另一个文件,但这也崩溃了。有谁知道为什么这会使我的计算机崩溃? EventViewer并不是很有帮助,但是其中一些(并非全部)崩溃是由iaStorA(英特尔应用存储驱动器A)引起的。某些iaStorA事件只是导致暂时挂起,但它可以恢复。我有SATA SSD。

int main()
{
    unsigned Cy = 17;
    unsigned Nc = 860527;

    for (int gg = 0; gg < 5000; gg++)
    {
        FILE* fid = fopen("scooby.bin", "w");
        for (unsigned cl = 0; cl < Nc; cl++)
        {
            fprintf(fid, "@Cluster%u\n", cl + 1);
        }
        fclose(fid);
        printf("gg = %d\n", gg);
   }
   return 0;
}

1 个答案:

答案 0 :(得分:0)

罪魁祸首是英特尔快速存储技术驱动程序。更新到最新的驱动程序似乎已经解决了问题。