<?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[fstream, Öffnen und Lesen einer Datei]]></title><description><![CDATA[<p>Hallo! <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="🙂"
    /><br />
Ich habe ein Beispielprogramm, das Daten aus einer Datei liest. Hier ein Teil des Codes:</p>
<pre><code class="language-cpp">if (0 &lt; strlen(InputFile)) {
		pInputfile.open(InputFile, ios::in);
		if(!pInputfile) {
			InputFile[strlen(InputFile) -1] = 0x00;
			pInputfile.open(InputFile, ios::in);
			if(!pInputfile) { 
                              ...weiter mit Fehlerbehandlung
</code></pre>
<p>wobei folgende Deklarationen gelten:<br />
char InputFile[255];<br />
fstream pInputfile;</p>
<p>Wozu wird nach einem ersten Scheitern des Öffnens des InputFiles das Öffnen ein zweites mal probiert, nur dass diesmal das InputFile mit<br />
InputFile[strlen(InputFile) -1] = 0x00;<br />
verändert worden ist? Was soll das denn bitte bringen, die letzte Stelle des InputFiles mit 0x00 zu besetzen?? <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /></p>
<p>Liebe Grüße,<br />
Julia</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/204005/fstream-öffnen-und-lesen-einer-datei</link><generator>RSS for Node</generator><lastBuildDate>Thu, 08 Oct 2026 08:44:18 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/204005.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 29 Jan 2008 08:32:31 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to fstream, Öffnen und Lesen einer Datei on Tue, 29 Jan 2008 08:32:31 GMT]]></title><description><![CDATA[<p>Hallo! <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="🙂"
    /><br />
Ich habe ein Beispielprogramm, das Daten aus einer Datei liest. Hier ein Teil des Codes:</p>
<pre><code class="language-cpp">if (0 &lt; strlen(InputFile)) {
		pInputfile.open(InputFile, ios::in);
		if(!pInputfile) {
			InputFile[strlen(InputFile) -1] = 0x00;
			pInputfile.open(InputFile, ios::in);
			if(!pInputfile) { 
                              ...weiter mit Fehlerbehandlung
</code></pre>
<p>wobei folgende Deklarationen gelten:<br />
char InputFile[255];<br />
fstream pInputfile;</p>
<p>Wozu wird nach einem ersten Scheitern des Öffnens des InputFiles das Öffnen ein zweites mal probiert, nur dass diesmal das InputFile mit<br />
InputFile[strlen(InputFile) -1] = 0x00;<br />
verändert worden ist? Was soll das denn bitte bringen, die letzte Stelle des InputFiles mit 0x00 zu besetzen?? <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /></p>
<p>Liebe Grüße,<br />
Julia</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1445472</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1445472</guid><dc:creator><![CDATA[julchen81]]></dc:creator><pubDate>Tue, 29 Jan 2008 08:32:31 GMT</pubDate></item><item><title><![CDATA[Reply to fstream, Öffnen und Lesen einer Datei on Tue, 29 Jan 2008 08:38:04 GMT]]></title><description><![CDATA[<p>Sagen wir du hast einen char-Array der Länge 5. Wenn du da jetzt &quot;Horst&quot; reinschreibst, fehlt an der 5. Stelle (array[4]) die abschließende 0. Das führt dazu das beim Auslesen des C-Strings fröhlich über das Array hinausgelesen wird, bis eine 0 im Speicher auftaucht. Ein ziemliches Problem. Was der Code macht ist im Fehlerfall eben ans Ende eine 0 schreiben, so das dort dann &quot;Hors\0&quot; stehen würde. Wäre nicht mehr die gleiche Eingabe aber er versucht es einfach mal.<br />
Im Grunde total unsinnig. Wenn man schon auf Nummer sicher gehen will (was man auch sollte) sollte man gleich ans Ende eine 0 schreiben oder dafür sorgen das nur (in diesem Fall) 4 Zeichen reingeschrieben werden in den C-String.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1445475</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1445475</guid><dc:creator><![CDATA[Fellhuhn]]></dc:creator><pubDate>Tue, 29 Jan 2008 08:38:04 GMT</pubDate></item><item><title><![CDATA[Reply to fstream, Öffnen und Lesen einer Datei on Tue, 29 Jan 2008 08:41:04 GMT]]></title><description><![CDATA[<p>oh ja, jetzt klingelt's laut und deutlich: strings werden in einem Array mit einer '0' abgeschlossen.</p>
<p>Deshalb der ganze Aufwand...</p>
<p>Ganz ganz dickes Dankeschön!! <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="🙂"
    /> <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>
<p>Schönen Tag noch,<br />
Julia</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1445477</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1445477</guid><dc:creator><![CDATA[julchen81]]></dc:creator><pubDate>Tue, 29 Jan 2008 08:41:04 GMT</pubDate></item></channel></rss>