<?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 Zeilenweise einlesen in Stringarray]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich komme bei einem Programm leider nicht weiter. Ich möchte eine Textdatei zeilenweise einlesen und die Zeilen in ein Stringarray speichern.<br />
Zur Überprüfung wollte ich mir jede Zeile ausgeben lassen, aber irgendwie klappts nicht mit der Ausgabe.<br />
Könnt ihr mir sagen wo mein Fehler liegt?<br />
Danke</p>
<p>#include&lt;string&gt;<br />
#include&lt;cstdlib&gt; // für exit( )<br />
#include&lt;fstream&gt;<br />
#include&lt;iostream&gt;<br />
#include&lt;vector&gt;<br />
#include&lt;string&gt;</p>
<p>using namespace std;</p>
<p>int main( ) {</p>
<p>int i;<br />
vector&lt;string&gt;stringarray;</p>
<p>ifstream file; // Eingabestrom<br />
string filename;<br />
cout &lt;&lt; &quot;Quelldatei? &quot;;<br />
cin &gt;&gt; filename;</p>
<p>// Datei öffnen:<br />
file.open(filename.c_str(), ios::binary|ios::in);<br />
<a href="//quelle.open">//quelle.open</a>(quelldateiname, ios::binary|ios::in); // neuer Standard?!<br />
// Ohne {\tt ios::binary} sind nur Textdateien kopierbar?!</p>
<p>if (!file) { // Fehlerabfrage<br />
cerr &lt;&lt; filename<br />
&lt;&lt; &quot; kann nicht geöffnet werden!\n&quot;;<br />
exit(-1);<br />
}</p>
<p>string line=&quot;&quot;;<br />
while (getline(file,line)) stringarray.push_back(line);<br />
{<br />
cout&lt;&lt;stringarray[i]&lt;&lt;endl;<br />
++i<br />
}<br />
return 0;<br />
} // Ende</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/257250/probleme-zeilenweise-einlesen-in-stringarray</link><generator>RSS for Node</generator><lastBuildDate>Thu, 10 Sep 2026 13:03:48 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/257250.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 25 Dec 2009 12:47:43 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Probleme Zeilenweise einlesen in Stringarray on Fri, 25 Dec 2009 12:47:43 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich komme bei einem Programm leider nicht weiter. Ich möchte eine Textdatei zeilenweise einlesen und die Zeilen in ein Stringarray speichern.<br />
Zur Überprüfung wollte ich mir jede Zeile ausgeben lassen, aber irgendwie klappts nicht mit der Ausgabe.<br />
Könnt ihr mir sagen wo mein Fehler liegt?<br />
Danke</p>
<p>#include&lt;string&gt;<br />
#include&lt;cstdlib&gt; // für exit( )<br />
#include&lt;fstream&gt;<br />
#include&lt;iostream&gt;<br />
#include&lt;vector&gt;<br />
#include&lt;string&gt;</p>
<p>using namespace std;</p>
<p>int main( ) {</p>
<p>int i;<br />
vector&lt;string&gt;stringarray;</p>
<p>ifstream file; // Eingabestrom<br />
string filename;<br />
cout &lt;&lt; &quot;Quelldatei? &quot;;<br />
cin &gt;&gt; filename;</p>
<p>// Datei öffnen:<br />
file.open(filename.c_str(), ios::binary|ios::in);<br />
<a href="//quelle.open">//quelle.open</a>(quelldateiname, ios::binary|ios::in); // neuer Standard?!<br />
// Ohne {\tt ios::binary} sind nur Textdateien kopierbar?!</p>
<p>if (!file) { // Fehlerabfrage<br />
cerr &lt;&lt; filename<br />
&lt;&lt; &quot; kann nicht geöffnet werden!\n&quot;;<br />
exit(-1);<br />
}</p>
<p>string line=&quot;&quot;;<br />
while (getline(file,line)) stringarray.push_back(line);<br />
{<br />
cout&lt;&lt;stringarray[i]&lt;&lt;endl;<br />
++i<br />
}<br />
return 0;<br />
} // Ende</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1827649</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1827649</guid><dc:creator><![CDATA[MichiBb]]></dc:creator><pubDate>Fri, 25 Dec 2009 12:47:43 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme Zeilenweise einlesen in Stringarray on Fri, 25 Dec 2009 12:59:49 GMT]]></title><description><![CDATA[<p>1. Lass exit() aus dem Spiel.<br />
2. #include&lt;cstdlib&gt; &lt;&lt; raus lassen<br />
3. Deine Kommentare sollen erklären warum etwas so gemacht wird und nicht, was gemacht wird.<br />
4. Es gibt eine bessere Fehlerüberprüfung als !, nämlich std::ifstream::fail, bzw std::ifstream::bad.<br />
5. Du brauchst std::string nicht mit &quot;&quot; zu initialisieren, das macht der default-ctor schon.<br />
6. &quot;stringarray&quot; ist ein falsch ausgesuchter Begriff, denn ein std::string ist im Prinzip schon ein Array.<br />
7. Ansonsten würde ich diese Methode vorziehen:</p>
<pre><code class="language-cpp">std::string line;

while(!file.eof())
{
	getline(file, line);

	stringarray.push_back(line);

	std::cout&lt;&lt; line &lt;&lt;std::endl;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1827660</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1827660</guid><dc:creator><![CDATA[Kóyaánasqatsi]]></dc:creator><pubDate>Fri, 25 Dec 2009 12:59:49 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme Zeilenweise einlesen in Stringarray on Fri, 25 Dec 2009 13:09:49 GMT]]></title><description><![CDATA[<p>Kóyaánasqatsi schrieb:</p>
<blockquote>
<p>6. &quot;stringarray&quot; ist ein falsch ausgesuchter Begriff, denn ein std::string ist im Prinzip schon ein Array.</p>
</blockquote>
<p>stringarray ist ok, denn std::vector<a href="std::string" rel="nofollow">std::string</a> ist genau das (mal abgesehen davon, dass man über den Begriff Vector / Array streiten kann).<br />
Was dabei std::string ist, kann dem Vektor ja egal sein.</p>
<p>Edit:<br />
Zur Erklärung, warum exit(..) hier nicht angebracht ist:<br />
Bei exit(..) werden die Destruktoren von C++ Objekten nicht aufgerufen.</p>
<p>Simon</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1827666</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1827666</guid><dc:creator><![CDATA[theta]]></dc:creator><pubDate>Fri, 25 Dec 2009 13:09:49 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme Zeilenweise einlesen in Stringarray on Fri, 25 Dec 2009 13:10:49 GMT]]></title><description><![CDATA[<p>Besser wäre aber StringVec (immernoch ih xD), StringBuffer oder einfach FileBuffer <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="😃"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1827670</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1827670</guid><dc:creator><![CDATA[Kóyaánasqatsi]]></dc:creator><pubDate>Fri, 25 Dec 2009 13:10:49 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme Zeilenweise einlesen in Stringarray on Fri, 25 Dec 2009 13:17:33 GMT]]></title><description><![CDATA[<p>Vielen Dank! Funktioniert bestens!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1827675</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1827675</guid><dc:creator><![CDATA[Michi Bb]]></dc:creator><pubDate>Fri, 25 Dec 2009 13:17:33 GMT</pubDate></item></channel></rss>