<?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[warum geht diese fopen function nicht?]]></title><description><![CDATA[<pre><code class="language-cpp">char *LoadFileToObj(char* file, HWND wind)
{
	char *buffer = NULL;
	FILE *topen;
	if((topen = fopen(file, &quot;rb&quot;)) != NULL)
	{
		int fileSize = ftell(topen);
		fread(buffer, sizeof(topen), fileSize, topen);
		MessageBox(wind, buffer, &quot;buffer&quot;, 0);
		fclose(topen);
		return buffer;

	}
	fclose(topen);
	return &quot;error - could not read file!&quot;;
}
</code></pre>
<p>wenn die datei nicht vorhanden-&gt; memory read error, sonst buffer leer <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /><br />
was machich falsch?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/77360/warum-geht-diese-fopen-function-nicht</link><generator>RSS for Node</generator><lastBuildDate>Sat, 11 Apr 2026 19:00:31 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/77360.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 20 Jun 2004 14:53:50 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to warum geht diese fopen function nicht? on Sun, 20 Jun 2004 14:54:19 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">char *LoadFileToObj(char* file, HWND wind)
{
	char *buffer = NULL;
	FILE *topen;
	if((topen = fopen(file, &quot;rb&quot;)) != NULL)
	{
		int fileSize = ftell(topen);
		fread(buffer, sizeof(topen), fileSize, topen);
		MessageBox(wind, buffer, &quot;buffer&quot;, 0);
		fclose(topen);
		return buffer;

	}
	fclose(topen);
	return &quot;error - could not read file!&quot;;
}
</code></pre>
<p>wenn die datei nicht vorhanden-&gt; memory read error, sonst buffer leer <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /><br />
was machich falsch?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/544290</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/544290</guid><dc:creator><![CDATA[pixartist]]></dc:creator><pubDate>Sun, 20 Jun 2004 14:54:19 GMT</pubDate></item><item><title><![CDATA[Reply to warum geht diese fopen function nicht? on Sun, 20 Jun 2004 15:29:26 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">char *LoadFileToObj(char* file, HWND wind) 
{ 
    char *buffer = NULL; //das ist nur ein zeiger kein buffer in den du was einlesen kannst 
    FILE *topen; 
    if((topen = fopen(file, &quot;rb&quot;)) != NULL) 
    { 
        int fileSize = ftell(topen);  //nach dem öffnen steht der auf dem dateianfang was wohl 0 sein dürfte
        fread(buffer, sizeof(topen), fileSize, topen); //du versuchst hier 0 zeichen in einen charpointer einzulesen guck dir nochmal die doku zu fread an
        //fread(buffer, sizeof(char), sizeof(buffer), topen);  und buffer als char-array und nicht nur als pointer verwenden
        MessageBox(wind, buffer, &quot;buffer&quot;, 0); //wenn du das als string ausgeben willst musst du den buffer nullterminieren also ggf ein zeichen weniger einlesen 
        fclose(topen); 
        return buffer; //wenn du den buffer so zurcükgeben willst wird das nicht funktionieren wenn du einen statischen buffer anlegst den müssest du schon dynamisch in dieser funktion allokieren was ich dir nicht empfehlen würde, übergib am besten einen poitner auf einen ausserhalb der funktion allokierten buffer und dessen grösse

    } 
    fclose(topen); 
    return &quot;error - could not read file!&quot;; 
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/544314</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/544314</guid><dc:creator><![CDATA[Windalf]]></dc:creator><pubDate>Sun, 20 Jun 2004 15:29:26 GMT</pubDate></item><item><title><![CDATA[Reply to warum geht diese fopen function nicht? on Sun, 20 Jun 2004 16:41:03 GMT]]></title><description><![CDATA[<p>alsooo</p>
<pre><code class="language-cpp">char *LoadFileToObj(char* file, HWND wind)
{
	FILE *topen;
	if((topen = fopen(file, &quot;rb&quot;)) != NULL)
	{
		int fileSize = ftell(topen);
		char buffer[100];
		fread(buffer, sizeof(char), sizeof(buffer), topen);
		MessageBox(wind, buffer, &quot;buffer&quot;, 0);
		fclose(topen);
		return buffer;

	}
	fclose(topen);
	return &quot;error - could not read file!&quot;;
}
</code></pre>
<p>so gehts, aber wie kann ich die buffer grösse auf die dateigrösse anpassen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/544373</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/544373</guid><dc:creator><![CDATA[pixartist]]></dc:creator><pubDate>Sun, 20 Jun 2004 16:41:03 GMT</pubDate></item><item><title><![CDATA[Reply to warum geht diese fopen function nicht? on Sun, 20 Jun 2004 17:29:33 GMT]]></title><description><![CDATA[<p>Mit der Funktion</p>
<pre><code class="language-cpp">DWORD GetFileSize(

    HANDLE hFile,	// handle of file to get size of
    LPDWORD lpFileSizeHigh 	// address of high-order word for file size
   );
</code></pre>
<p>die Dateigröße auslesen und den Buffer danch mit der ausgelesenen Anzahl Bytes erstellen.</p>
<p>Mfg.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/544407</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/544407</guid><dc:creator><![CDATA[Tolga]]></dc:creator><pubDate>Sun, 20 Jun 2004 17:29:33 GMT</pubDate></item><item><title><![CDATA[Reply to warum geht diese fopen function nicht? on Sun, 20 Jun 2004 17:47:17 GMT]]></title><description><![CDATA[<p>--------------------Konfiguration: test - Win32 Debug--------------------<br />
Kompilierung läuft...<br />
main.cpp<br />
D:\Programme\C++ files\MSDev98\MyProjects\test\main.cpp(90) : error C2057: Konstanter Ausdruck erwartet<br />
[...]<br />
test.exe - 4 Fehler, 1 Warnung(en)</p>
<p>der wert muss doch konstant sein?!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/544417</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/544417</guid><dc:creator><![CDATA[pixartist]]></dc:creator><pubDate>Sun, 20 Jun 2004 17:47:17 GMT</pubDate></item><item><title><![CDATA[Reply to warum geht diese fopen function nicht? on Sun, 20 Jun 2004 17:49:20 GMT]]></title><description><![CDATA[<p>Einen Pointer kann man nciht in einen nciht-Pointer konvertieren. Aber man kann den Pointer so bahandeln als wäre er keiner indem man ihn dereferenziert.</p>
<p>Der Dereferenzierungsoperator ist dieses &quot;*&quot;, das du zu hassen scheinst <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /><br />
Also sagen wir mal...</p>
<pre><code class="language-cpp">int* pInt = 0; //Pointer wird erstellt
int a = 5; //Integer variable wird erstellt

pInt = &amp;a; //dem Pointer wird die adresse von a übergeben.
int b = *pInt;  //dem integer b wird der Wert übergeben, auf den der Pointer zeigt, d.h. den er referenziert(repräsentiert).
//mit dem dereferenzierungsoperator vor dem Pointernamen kann man direkt auf den Wert zugreifen auf den er zeigt.

if(b==a)
   Beep(222,2222); //Hier sollte es Beeeeepen....
</code></pre>
<p>Mfg.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/544420</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/544420</guid><dc:creator><![CDATA[Tolga]]></dc:creator><pubDate>Sun, 20 Jun 2004 17:49:20 GMT</pubDate></item><item><title><![CDATA[Reply to warum geht diese fopen function nicht? on Sun, 20 Jun 2004 17:51:59 GMT]]></title><description><![CDATA[<p>An die anderen:</p>
<p>Denkt nciht der Tolga schreibt Mist! (hehe..)<br />
Er hat seine Farge geändert:</p>
<p>Zuletzt bearbeitet von pixartist am 19:47:17 20.06.2004, insgesamt 1-mal bearbeitet</p>
]]></description><link>https://www.c-plusplus.net/forum/post/544421</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/544421</guid><dc:creator><![CDATA[Tolga]]></dc:creator><pubDate>Sun, 20 Jun 2004 17:51:59 GMT</pubDate></item><item><title><![CDATA[Reply to warum geht diese fopen function nicht? on Sun, 20 Jun 2004 17:53:08 GMT]]></title><description><![CDATA[<p>danach hab ich granicht gefragt <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /> <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /> <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f62e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_open_mouth"
      title=":open_mouth:"
      alt="😮"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/544422</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/544422</guid><dc:creator><![CDATA[pixartist]]></dc:creator><pubDate>Sun, 20 Jun 2004 17:53:08 GMT</pubDate></item><item><title><![CDATA[Reply to warum geht diese fopen function nicht? on Sun, 20 Jun 2004 17:57:36 GMT]]></title><description><![CDATA[<p>@Pixarzist:<br />
Nie wieder versuch ich dir zu helfen. Um zu lernen wie man Pointer dereferenziert (hoffe inzwischen sagt dir das Wort was) solltest du dir<br />
'C++ für Dummies' aus der Stadtbib. leihen und lesen.. da wird das so erklärt das du es verstehn könntest.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/544425</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/544425</guid><dc:creator><![CDATA[Tolga]]></dc:creator><pubDate>Sun, 20 Jun 2004 17:57:36 GMT</pubDate></item><item><title><![CDATA[Reply to warum geht diese fopen function nicht? on Sun, 20 Jun 2004 18:00:37 GMT]]></title><description><![CDATA[<p>och ... jetzt sei doch nicht beleidigt <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="🙂"
    /> das war doch nicht ernst gemeint, und ich finds nett wie du und andere einem hier helfen <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f576.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--sunglasses"
      title=":sunglasses:"
      alt="🕶"
    /></p>
<p>edit: btw. die smileys symbolisieren ironie <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f4a1.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--light_bulb"
      title=":bulb:"
      alt="💡"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/544427</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/544427</guid><dc:creator><![CDATA[pixartist]]></dc:creator><pubDate>Sun, 20 Jun 2004 18:00:37 GMT</pubDate></item><item><title><![CDATA[Reply to warum geht diese fopen function nicht? on Sun, 20 Jun 2004 18:46:43 GMT]]></title><description><![CDATA[<p>ftell() liefert dir nur die aktuelle Position des Dateizeigers zurück!<br />
Nach dem Öffnen einer Datei ist der Zeiger normalerweise am Anfang und ftell() liefert 0.<br />
Du solltest vorher mit fseek() den Dateizeiger auf das Ende setzen, dann ftell() aufrufen und dann wieder mit fseek() an den Anfang setzen!</p>
<p>Oder du benutzt die WinAPI-Datei-Funktionen:<br />
CreateFile() zum Datei öffnen<br />
GetFileSize() zum Dateigröße holen<br />
ReadFile() um was aus der Datei zu lesen<br />
CloseHandle() um die Datei wieder zu schließen...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/544440</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/544440</guid><dc:creator><![CDATA[geeky]]></dc:creator><pubDate>Sun, 20 Jun 2004 18:46:43 GMT</pubDate></item><item><title><![CDATA[Reply to warum geht diese fopen function nicht? on Sun, 20 Jun 2004 19:32:49 GMT]]></title><description><![CDATA[<p>... und dann musst du eben new verwenden, um den Speicher zu reservieren <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/544480</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/544480</guid><dc:creator><![CDATA[flenders]]></dc:creator><pubDate>Sun, 20 Jun 2004 19:32:49 GMT</pubDate></item><item><title><![CDATA[Reply to warum geht diese fopen function nicht? on Sun, 20 Jun 2004 20:05:54 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">char *LoadFileToObj(char* file, HWND wind)
{
	FILE *topen;
		if((topen = fopen(file, &quot;rb&quot;)) != NULL)
		{
			int fileSize;
			fseek(topen, 0, SEEK_END);
            fileSize = ftell(topen);
			if(fileSize!=0) {
				char *buffer;
				buffer = new char[fileSize-4];
				fseek(topen, 0, SEEK_SET);
				fread(buffer, 1, fileSize, topen);
				MessageBox(wind, buffer, &quot;buffer&quot;, 0);
				fclose(topen);
				return buffer;
			}
		}

	return &quot;error - could not read file!&quot;;
}
</code></pre>
<p>so klappts! die -4 hab ich durch ausprobieren, kann sie mir aber nicht erklähren!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/544511</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/544511</guid><dc:creator><![CDATA[pixartist]]></dc:creator><pubDate>Sun, 20 Jun 2004 20:05:54 GMT</pubDate></item><item><title><![CDATA[Reply to warum geht diese fopen function nicht? on Sun, 20 Jun 2004 20:55:24 GMT]]></title><description><![CDATA[<p>seltsam! Was kommt denn, wenn du -4 nicht mit angibst?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/544550</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/544550</guid><dc:creator><![CDATA[flenders]]></dc:creator><pubDate>Sun, 20 Jun 2004 20:55:24 GMT</pubDate></item><item><title><![CDATA[Reply to warum geht diese fopen function nicht? on Sun, 20 Jun 2004 20:58:15 GMT]]></title><description><![CDATA[<p>allokier mal ein zeichen mehr und setzte das letzte dann auf 0 damit du nen nullterminierten string hast</p>
]]></description><link>https://www.c-plusplus.net/forum/post/544551</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/544551</guid><dc:creator><![CDATA[Windalf]]></dc:creator><pubDate>Sun, 20 Jun 2004 20:58:15 GMT</pubDate></item><item><title><![CDATA[Reply to warum geht diese fopen function nicht? on Sun, 20 Jun 2004 21:17:55 GMT]]></title><description><![CDATA[<p>wenn ich die -4 weglasse hab ich 4 y's mit ´drüber hinten am string</p>
]]></description><link>https://www.c-plusplus.net/forum/post/544563</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/544563</guid><dc:creator><![CDATA[pixartist]]></dc:creator><pubDate>Sun, 20 Jun 2004 21:17:55 GMT</pubDate></item><item><title><![CDATA[Reply to warum geht diese fopen function nicht? on Mon, 21 Jun 2004 06:03:08 GMT]]></title><description><![CDATA[<p><a href="http://msdn.microsoft.com/library/en-us/memory/base/zeromemory.asp" rel="nofollow">ZeroMemory</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/544612</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/544612</guid><dc:creator><![CDATA[flenders]]></dc:creator><pubDate>Mon, 21 Jun 2004 06:03:08 GMT</pubDate></item><item><title><![CDATA[Reply to warum geht diese fopen function nicht? on Mon, 21 Jun 2004 15:29:56 GMT]]></title><description><![CDATA[<p>ZeroMemory(buffer, fileSize); oder was? dann löscht er ja alles raus oO wie krieg ich denn dieses scheiss anhängsel da weg?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/545028</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/545028</guid><dc:creator><![CDATA[pixartist]]></dc:creator><pubDate>Mon, 21 Jun 2004 15:29:56 GMT</pubDate></item><item><title><![CDATA[Reply to warum geht diese fopen function nicht? on Mon, 21 Jun 2004 16:13:28 GMT]]></title><description><![CDATA[<p>Das musst du natürlich vor dem Auslesen machen - direkt nachdem du dir den Speicher reserviert hast <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/545087</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/545087</guid><dc:creator><![CDATA[flenders]]></dc:creator><pubDate>Mon, 21 Jun 2004 16:13:28 GMT</pubDate></item><item><title><![CDATA[Reply to warum geht diese fopen function nicht? on Mon, 21 Jun 2004 18:23:18 GMT]]></title><description><![CDATA[<p>ups ja klar <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /> *paddel*</p>
]]></description><link>https://www.c-plusplus.net/forum/post/545216</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/545216</guid><dc:creator><![CDATA[pixartist]]></dc:creator><pubDate>Mon, 21 Jun 2004 18:23:18 GMT</pubDate></item></channel></rss>