<?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[Probleme mit fwrite]]></title><description><![CDATA[<p>Hallo. Ich habe da ein paar Probs mit fwrite. Ich muss leider gestehen, dass ich mich nicht 100% mit C++ auskenne. Ich muss Daten in eine Datei speichern. Dazu nutze ich fwrite. Soweit kein Problem. Doch sobald meine Datei mehr als 120 Zeichen speichern soll, stürzt mein Programm ab. Und zwar mit folgender Meldung:</p>
<p>&quot;Eine nicht behandelte Ausnahme des Typs 'System.NullReferenceException' ist in RS232 W32.exe aufgetreten.</p>
<p>Zusätzliche Informationen: Der Objektverweis wurde nicht auf eine Objektinstanz festgelegt.&quot;</p>
<p>Im Debug-Modus öffnet mein Compiler dann eine Datei namens _file.c und zeigt auf folgenden Block:</p>
<p>&quot;void __cdecl _lock_file (<br />
void <em>pf<br />
)<br />
{<br />
/</em><br />
* The way the FILE (pointed to by pf) is locked depends on whether<br />
* it is part of _iob[] or not<br />
*/<br />
if ( (pf &gt;= (void *)_iob) &amp;&amp; (pf &lt;= (void <em>)(&amp;_iob[_IOB_ENTRIES-1])) )<br />
/</em><br />
* FILE lies in _iob[] so the lock lies in _locktable[].<br />
*/<br />
_lock( _STREAM_LOCKS + (int)((FILE <em>)pf - _iob) );<br />
else<br />
/</em><br />
* Not part of _iob[]. Therefore, *pf is a _FILEX and the<br />
* lock field of the struct is an initialized critical<br />
* section.<br />
*/<br />
EnterCriticalSection( &amp;(((_FILEX *)pf)-&gt;lock) );<br />
}</p>
<p>&quot;</p>
<p>Kann mir jemand erklären, was da los ist, und was ich machen muss, dass dieser Fehler nicht auftritt?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/118706/probleme-mit-fwrite</link><generator>RSS for Node</generator><lastBuildDate>Fri, 21 Aug 2026 12:24:34 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/118706.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 23 Aug 2005 12:32:36 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Probleme mit fwrite on Tue, 23 Aug 2005 12:32:36 GMT]]></title><description><![CDATA[<p>Hallo. Ich habe da ein paar Probs mit fwrite. Ich muss leider gestehen, dass ich mich nicht 100% mit C++ auskenne. Ich muss Daten in eine Datei speichern. Dazu nutze ich fwrite. Soweit kein Problem. Doch sobald meine Datei mehr als 120 Zeichen speichern soll, stürzt mein Programm ab. Und zwar mit folgender Meldung:</p>
<p>&quot;Eine nicht behandelte Ausnahme des Typs 'System.NullReferenceException' ist in RS232 W32.exe aufgetreten.</p>
<p>Zusätzliche Informationen: Der Objektverweis wurde nicht auf eine Objektinstanz festgelegt.&quot;</p>
<p>Im Debug-Modus öffnet mein Compiler dann eine Datei namens _file.c und zeigt auf folgenden Block:</p>
<p>&quot;void __cdecl _lock_file (<br />
void <em>pf<br />
)<br />
{<br />
/</em><br />
* The way the FILE (pointed to by pf) is locked depends on whether<br />
* it is part of _iob[] or not<br />
*/<br />
if ( (pf &gt;= (void *)_iob) &amp;&amp; (pf &lt;= (void <em>)(&amp;_iob[_IOB_ENTRIES-1])) )<br />
/</em><br />
* FILE lies in _iob[] so the lock lies in _locktable[].<br />
*/<br />
_lock( _STREAM_LOCKS + (int)((FILE <em>)pf - _iob) );<br />
else<br />
/</em><br />
* Not part of _iob[]. Therefore, *pf is a _FILEX and the<br />
* lock field of the struct is an initialized critical<br />
* section.<br />
*/<br />
EnterCriticalSection( &amp;(((_FILEX *)pf)-&gt;lock) );<br />
}</p>
<p>&quot;</p>
<p>Kann mir jemand erklären, was da los ist, und was ich machen muss, dass dieser Fehler nicht auftritt?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/856860</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/856860</guid><dc:creator><![CDATA[Nightfall]]></dc:creator><pubDate>Tue, 23 Aug 2005 12:32:36 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme mit fwrite on Tue, 23 Aug 2005 12:57:07 GMT]]></title><description><![CDATA[<p>Hi,</p>
<p>zeig uns mal die Stelle wo du fwrite aufrufst.<br />
Code Tags nicht vergessen..</p>
]]></description><link>https://www.c-plusplus.net/forum/post/856879</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/856879</guid><dc:creator><![CDATA[Tanzfreak]]></dc:creator><pubDate>Tue, 23 Aug 2005 12:57:07 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme mit fwrite on Tue, 23 Aug 2005 13:01:42 GMT]]></title><description><![CDATA[<p>Würde sage dein FILE pointer ist nicht initialisiert, oder du hast irgendwo einen Bufferoverflow. Kann man aber leider nicht erkennen da du ja keinen eigenen code gepostet hast.<br />
Kurt</p>
]]></description><link>https://www.c-plusplus.net/forum/post/856888</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/856888</guid><dc:creator><![CDATA[ZuK]]></dc:creator><pubDate>Tue, 23 Aug 2005 13:01:42 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme mit fwrite on Tue, 23 Aug 2005 13:02:51 GMT]]></title><description><![CDATA[<p>HI !</p>
<p>wenn ich fwrite benutze mach ich das immer so:</p>
<pre><code class="language-cpp">fwrite(pcText, sizeof(char), strlen(pcText), fOut);
</code></pre>
<p>pcText ist hier ein char* !!<br />
und fOut = FILE*</p>
<p>gruß __stdcall*</p>
]]></description><link>https://www.c-plusplus.net/forum/post/856889</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/856889</guid><dc:creator><![CDATA[__stdcall*]]></dc:creator><pubDate>Tue, 23 Aug 2005 13:02:51 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme mit fwrite on Wed, 24 Aug 2005 09:34:55 GMT]]></title><description><![CDATA[<p>So, hier mal meine Funktion:</p>
<pre><code class="language-cpp">int FPGA_Export(char *Dateiname)
{
	int Adresse,zeichen=0;

	for (Adresse=MIN_ADR; Adresse&lt;=MAX_ADR; Adresse++)
	{
		if (FPGA_auslesen_EM(Adresse)==1) //Liest einen FPGA ine einer
                                                  //Digitalschaltung aus.
		{
			return 1;
		}
/*Die Variable cAdresse enthält eine Adresse in Form eines Charakters (zb. 0019)/*
		bigInhalt[zeichen]=cAdresse[0]; //Speichert 1.Zeichen aus   
                                                //cAdresse in bigInahlt.
		zeichen++;                      //Erhöht Zeichen um eins
		bigInhalt[zeichen]=cAdresse[1];
		zeichen++;
		bigInhalt[zeichen]=cAdresse[2];
		zeichen++;
		bigInhalt[zeichen]=cAdresse[3];
		zeichen++;
		bigInhalt[zeichen]=' ';        //Fügt ein Leerzeichen nach der 
                                               //Adresse ein.
		zeichen++;

		for (int j=0; j&lt;2; j++) //Die zu speichernden zahlen sind zwei 
                                        //HEX-Werte. (Z.B. 0F)
		{
			bigInhalt[zeichen]=cBit[j]; //Speichert Zeichen an 
                                                    //Stelle in bigInhalt
			zeichen++;
		}
		bigInhalt[zeichen]=' ';   //Leerzeichen einfügen.
		zeichen++;

	}
	FILE *fp;
	fp=fopen (Dateiname,&quot;w&quot;); //Dateiname ist Variable, mit SaveFileDialog 
                                  //ermittelt
	fwrite (bigInhalt , 1 , zeichen , fp); //HIER GIBTS DEN FEHLER!!!!
	fclose (fp);

	return 0;
}
</code></pre>
<p><strong>&lt;edit&gt;Bitte Code-Tags verwenden!&lt;/edit&gt;</strong></p>
]]></description><link>https://www.c-plusplus.net/forum/post/856914</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/856914</guid><dc:creator><![CDATA[Nightfall]]></dc:creator><pubDate>Wed, 24 Aug 2005 09:34:55 GMT</pubDate></item></channel></rss>