加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c – 在几百次打开后,fopen()是否有效?

发布时间:2020-12-16 03:27:47 所属栏目:百科 来源:网络整理
导读:嘿,对于这段代码,编写系统的人使用文本文件在进程之间传递数据.我有一个看起来像所有意图和目的的循环: while (true){ //get the most up-to-date info from the other processes pFile = fopen(paramsFileName,"r"); // Do a bunch of stuff with pFile Sl
嘿,对于这段代码,编写系统的人使用文本文件在进程之间传递数据.我有一个看起来像所有意图和目的的循环:
while (true)
{
 //get the most up-to-date info from the other processes
 pFile = fopen(paramsFileName,"r");

 // Do a bunch of stuff with pFile

 Sleep(100);
}

这将工作几百次,但无论出于何种原因,它会在一段时间后返回NULL,即使它已经打开了相同的文件路径数百次!我已经仔细检查过该文件是否存在并且当fopen返回NULL时其中包含数据,并且试图在其中放置延迟/重试无效.

您能想到什么会导致这种情况?

解决方法

您正在达到操作系统的打开文件/文件描述符限制.如果你在循环中执行fclose(pFile),它应该永远运行.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读