<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Anzahl offene File Handles zählen]]></title><description><![CDATA[<p>Hallo</p>
<p>Ich öffne Dateien mit fopen und schliesse sie wieder mit fclose. Irgendwann kann jedoch kein File mehr geöffnet werden, weil zuviele offene Files vorhanden sind. Ich bin der Meinung, das ich die Files immer wieder schliessen, aber offensichtlich geht was schief.</p>
<p>Gibt es irgend eine Möglichkeit, die Anzahl offener File Handles in meiner Applikation zu zählen?</p>
<p>Ich programmiere mit Microsoft Visual Studio unter Windwos XP, ohne MFC und dergleichen...</p>
<p>Danke.</p>
<p>Gruss<br />
Hans</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/274708/anzahl-offene-file-handles-zählen</link><generator>RSS for Node</generator><lastBuildDate>Thu, 27 Aug 2026 08:46:10 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/274708.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 01 Oct 2010 08:34:34 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Anzahl offene File Handles zählen on Fri, 01 Oct 2010 08:34:34 GMT]]></title><description><![CDATA[<p>Hallo</p>
<p>Ich öffne Dateien mit fopen und schliesse sie wieder mit fclose. Irgendwann kann jedoch kein File mehr geöffnet werden, weil zuviele offene Files vorhanden sind. Ich bin der Meinung, das ich die Files immer wieder schliessen, aber offensichtlich geht was schief.</p>
<p>Gibt es irgend eine Möglichkeit, die Anzahl offener File Handles in meiner Applikation zu zählen?</p>
<p>Ich programmiere mit Microsoft Visual Studio unter Windwos XP, ohne MFC und dergleichen...</p>
<p>Danke.</p>
<p>Gruss<br />
Hans</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1959947</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1959947</guid><dc:creator><![CDATA[hstoessel]]></dc:creator><pubDate>Fri, 01 Oct 2010 08:34:34 GMT</pubDate></item><item><title><![CDATA[Reply to Anzahl offene File Handles zählen on Fri, 01 Oct 2010 08:47:07 GMT]]></title><description><![CDATA[<p>So als Schnellschuss:</p>
<pre><code class="language-cpp">int g_openFileHandles = 0;

FILE *fopen_debug(const char *filename, const char *mode)
{
	FILE *fp = fopen(filename, mode);
	if (fp)
		g_openFileHandles++;

	return fp;
}

void fclose_debug(FILE *fp)
{
	if (fclose(fp) == 0)
		g_openFileHandles--;
}

//#ifndef NDEBUG
#	define fopen fopen_debug
#	define fclose fclose_debug
//#endif

int main (void)
{
	FILE *fp = fopen(&quot;test.txt&quot;, &quot;w&quot;);
	FILE *fp1 = fopen(&quot;test1.txt&quot;, &quot;w&quot;);
	printf(&quot;%d\n&quot;, g_openFileHandles);
	fclose(fp);
	fclose(fp1);
	printf(&quot;%d\n&quot;, g_openFileHandles);
}

#undef fopen
#undef fclose
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1959951</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1959951</guid><dc:creator><![CDATA[David_pb]]></dc:creator><pubDate>Fri, 01 Oct 2010 08:47:07 GMT</pubDate></item><item><title><![CDATA[Reply to Anzahl offene File Handles zählen on Fri, 01 Oct 2010 08:51:35 GMT]]></title><description><![CDATA[<p>Du könntest zum Testen eine RAII - Klasse ( <a href="http://de.wikipedia.org/wiki/RAII" rel="nofollow">http://de.wikipedia.org/wiki/RAII</a> ) schreiben, die einen globalen Zähler beim Öffnen inkrementiert, beim Schließen dieser wieder dekrementiert.<br />
Alternativ kannst du, wenn du wirklich viele Dateien öffnest und schließt, im Taskmanager die Anzahl der geöffneten Handles beobachten. Dazu mußt du unter &quot;Ansicht - Spalten auswählen die Checkbox Handleanzahl (WinXp, bei anderen Versionen ähnlich) auswählen.<br />
Ob du eine Datei wirklich dauerhaft geöffnet hälst, kannst du natürlich auch testen, indem du, während dein Programm läuft, versuchst, die Datei mit einem anderen Programm zu öffnen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1959954</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1959954</guid><dc:creator><![CDATA[VF]]></dc:creator><pubDate>Fri, 01 Oct 2010 08:51:35 GMT</pubDate></item><item><title><![CDATA[Reply to Anzahl offene File Handles zählen on Fri, 01 Oct 2010 10:40:26 GMT]]></title><description><![CDATA[<p>Ansonsten könntest Du auch die C++ IO Stream Klasse verwenden. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1960006</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1960006</guid><dc:creator><![CDATA[De-Be]]></dc:creator><pubDate>Fri, 01 Oct 2010 10:40:26 GMT</pubDate></item><item><title><![CDATA[Reply to Anzahl offene File Handles zählen on Fri, 01 Oct 2010 11:13:53 GMT]]></title><description><![CDATA[<p>Das sollte praktisch sein <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
<pre><code class="language-cpp">class File
{
public:
	File()
	{
		++numOpenHandles;
	}

	~File()
	{
		--numOpenHandles;
	}

	operator FILE*&amp;()
	{
		return file_;
	}

	static size_t getNumHandles()
	{
		return numOpenHandles;
	}

private:
	FILE* file_;
	static size_t numOpenHandles;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1960018</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1960018</guid><dc:creator><![CDATA[Icematix]]></dc:creator><pubDate>Fri, 01 Oct 2010 11:13:53 GMT</pubDate></item><item><title><![CDATA[Reply to Anzahl offene File Handles zählen on Fri, 01 Oct 2010 12:29:17 GMT]]></title><description><![CDATA[<p>De-Be schrieb:</p>
<blockquote>
<p>Ansonsten könntest Du auch die C++ IO Stream Klasse verwenden. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
</blockquote>
<p>Eben nicht... auch die C++ fstreams zählen gegen FILE_MAX (oder so), was wirklich hilft ist CreateFile aus der Win32 API.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1960059</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1960059</guid><dc:creator><![CDATA[DocShoe]]></dc:creator><pubDate>Fri, 01 Oct 2010 12:29:17 GMT</pubDate></item></channel></rss>