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

前端之家收集整理的这篇文章主要介绍了c – 在几百次打开后,fopen()是否有效?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
嘿,对于这段代码,编写系统的人使用文本文件在进程之间传递数据.我有一个看起来像所有意图和目的的循环:
  1. while (true)
  2. {
  3. //get the most up-to-date info from the other processes
  4. pFile = fopen(paramsFileName,"r");
  5.  
  6. // Do a bunch of stuff with pFile
  7.  
  8. Sleep(100);
  9. }

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

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

解决方法

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

猜你在找的C&C++相关文章