Windows 7,10-fopen()工作几分钟后返回NULL

问题描述 投票:0回答:1

PREFACE

我正在Windows 7 Professional x64的MSVC 2012中开发32位控制台应用程序。

我正在Windows 7 Professional和Windows 10 Professional上运行该应用程序。

我的应用程序每5秒钟打开一个文件以供读取,先读取该文件,然后将其关闭。

这里是代码:

strcpy (file_name, "my_file");

f = fopen(file_name, "rb);

if (f != NULL)
{
    char data[128];
    size_t count;

    count = fread (data, 1, sizeof (data), f);

    fclose(f);
}
else
{
    int mickey;

    mickey = 10;    /* Breakpoint here*/
}

问题

一切正常,但是10分钟后fopen()函数返回NULL。

它在所有后续的fopen()调用中都返回NULL。

打开文件的唯一方法是关闭并重新启动应用程序。

为了调查问题,我在以下语句中设置了一个断点:mickey = 10。数组file_name包含“ my_file”,因此这不是名称问题。

在每次成功执行fopen()之后都会调用fclose(),因此我认为文件总是关闭的。

问题出现在Windows 7和Windows 10上。

谢谢,Enrico Migliore

fopen
1个回答
0
投票

我意识到有一种状态,我没有fclose()文件。

现在一切正常。

Enrico Migliore

© www.soinside.com 2019 - 2024. All rights reserved.