<?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[String Buchstabenweise aus Datei laden]]></title><description><![CDATA[<p>Hallo,<br />
ich hab ein Textdokument, mit einem SEHR langen string. Ich kenne nur zwei Methoden, strings aus einem Textdokument einzulesen. Über <strong>getline</strong> oder dirket über <strong>is &gt;&gt; string</strong> . Da der string sehr lang ist, dauert das relativ lange. Die Anzahl der Zeichen des strings werden vom Benutzer bestimmt. Im Moment mache ich das so, dass ich den gesamten Inhalt des Textdokumentes in einen std::string lade, und dann die überflüssigen Buchstaben &quot;abschneide&quot;.<br />
Gibt es eine Möglichkeit die Anzahl der Zeichen direkt beim einlesen zu begrenzen? Eine art getchar() ?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/240024/string-buchstabenweise-aus-datei-laden</link><generator>RSS for Node</generator><lastBuildDate>Tue, 22 Sep 2026 05:30:35 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/240024.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 30 Apr 2009 17:43:39 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to String Buchstabenweise aus Datei laden on Thu, 30 Apr 2009 17:43:39 GMT]]></title><description><![CDATA[<p>Hallo,<br />
ich hab ein Textdokument, mit einem SEHR langen string. Ich kenne nur zwei Methoden, strings aus einem Textdokument einzulesen. Über <strong>getline</strong> oder dirket über <strong>is &gt;&gt; string</strong> . Da der string sehr lang ist, dauert das relativ lange. Die Anzahl der Zeichen des strings werden vom Benutzer bestimmt. Im Moment mache ich das so, dass ich den gesamten Inhalt des Textdokumentes in einen std::string lade, und dann die überflüssigen Buchstaben &quot;abschneide&quot;.<br />
Gibt es eine Möglichkeit die Anzahl der Zeichen direkt beim einlesen zu begrenzen? Eine art getchar() ?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1703780</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1703780</guid><dc:creator><![CDATA[charlad]]></dc:creator><pubDate>Thu, 30 Apr 2009 17:43:39 GMT</pubDate></item><item><title><![CDATA[Reply to String Buchstabenweise aus Datei laden on Thu, 30 Apr 2009 18:06:22 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">if(file)
            {
                        zeilen = 0;
                        while(!file.eof())
                        {

                                    getline(file, txt);
                                    text = txt + &quot;\n&quot;;
                                    zeilen++;

                                    if(zeilen == 26) // gesuchte Zeile erreicht
                                    {

                                                break; // Zeile gefunden, Einlesen abbrechen                              
                                                cout&lt;&lt;text;
                                    }

                        }
</code></pre>
<p>so vielleicht mit BREAK ? man kann das auch mit stellen machen.<br />
edit: müll entfernt</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1703804</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1703804</guid><dc:creator><![CDATA[5cript]]></dc:creator><pubDate>Thu, 30 Apr 2009 18:06:22 GMT</pubDate></item><item><title><![CDATA[Reply to String Buchstabenweise aus Datei laden on Thu, 30 Apr 2009 18:08:18 GMT]]></title><description><![CDATA[<p>Das Problem ist, dass die gesamte Datei ein zusammenhängender String ist. Ohne Zeilensprung oder Leerzeichen. Ich könnte natürlich die Datei so anlegen, dass zwischen jedem Buchstaben ein Leerzeichen steht und dann X mal <strong>is &gt;&gt; string</strong> einlesen; aber ich denke, dass das ganze dadurch nicht schneller wird</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1703811</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1703811</guid><dc:creator><![CDATA[charlad]]></dc:creator><pubDate>Thu, 30 Apr 2009 18:08:18 GMT</pubDate></item><item><title><![CDATA[Reply to String Buchstabenweise aus Datei laden on Thu, 30 Apr 2009 18:11:23 GMT]]></title><description><![CDATA[<p>@Tim06TR,<br />
Lern mal deinen Code zu formatieren...</p>
<p>@charlad,<br />
Es gibt noch deutlich mehr Funktionen bei einem std::istream oder eine davon abgeleitete Klassen:<br />
<a href="http://www.cplusplus.com/reference/iostream/istream/" rel="nofollow">http://www.cplusplus.com/reference/iostream/istream/</a></p>
<p>Womöglich könnte dies hilfreich sein:<br />
<a href="http://www.cplusplus.com/reference/iostream/istream/getline/" rel="nofollow">http://www.cplusplus.com/reference/iostream/istream/getline/</a></p>
<p>Oder eine Kombination aus diesen zwei:<br />
<a href="http://www.cplusplus.com/reference/iostream/istream/read/" rel="nofollow">http://www.cplusplus.com/reference/iostream/istream/read/</a><br />
<a href="http://www.cplusplus.com/reference/iostream/istream/ignore/" rel="nofollow">http://www.cplusplus.com/reference/iostream/istream/ignore/</a></p>
<p>Kommt ein wenig darauf an, was du genau willst <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>
<p>Grüssli</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1703817</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1703817</guid><dc:creator><![CDATA[Dravere]]></dc:creator><pubDate>Thu, 30 Apr 2009 18:11:23 GMT</pubDate></item><item><title><![CDATA[Reply to String Buchstabenweise aus Datei laden on Thu, 30 Apr 2009 18:13:24 GMT]]></title><description><![CDATA[<p>istream::read ist genau das, was ich gesucht habe! Danke <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/1703820</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1703820</guid><dc:creator><![CDATA[charlad]]></dc:creator><pubDate>Thu, 30 Apr 2009 18:13:24 GMT</pubDate></item><item><title><![CDATA[Reply to String Buchstabenweise aus Datei laden on Thu, 30 Apr 2009 18:17:27 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">int stellen
if(file)
            {
                        stellen = 0;
                        while(!file.eof())
                        {

                                    getline(file, txt);
                                    text += txt;
                                    stellen = text.size() + stellen;

                                    if(stellen &gt;= 900) // bei buchstabe 900 aufhörengröße erreicht
                                    {

                                                break; // Zeile gefunden, Einlesen abbrechen                              
                                                cout&lt;&lt;text;
                                    }

                        }
</code></pre>
<p>so müsste es gehen, hoffe ich nicht getestet</p>
<p>EDIT: das beitrag schreiben dauert zu lang :(, dann ist schon alles geklärt. geht das hier trotzdem ?<br />
@ dravere: code formatieren ? soll das heißen das ausehen optimieren ? definition bitte.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1703822</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1703822</guid><dc:creator><![CDATA[5cript]]></dc:creator><pubDate>Thu, 30 Apr 2009 18:17:27 GMT</pubDate></item><item><title><![CDATA[Reply to String Buchstabenweise aus Datei laden on Thu, 30 Apr 2009 18:26:59 GMT]]></title><description><![CDATA[<p>mit Formatieren ist vernünftiges Einrücken gemeint</p>
<pre><code class="language-cpp">int stellen;
if(file) 
{ 
    stellen = 0; 
    while(!file.eof()) 
    { 
        getline(file, txt); 
        text += txt; 
        stellen = text.size() + stellen; 

        if(stellen &gt;= 900)
        {
            break;                             
            cout&lt;&lt;text; 
        }                                 
    }
    getch();
}
</code></pre>
<p>Allerdings weis ich nicht genau was dein Code machen soll? 1. Setzt er voraus, dass Pro Zeile nur ein Buchstabe steht und 2. ist die Berechnung <strong>stellen = text.size() + stellen;</strong> auch seltsam (text.size() wäre in dem Falle genug)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1703827</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1703827</guid><dc:creator><![CDATA[charlad]]></dc:creator><pubDate>Thu, 30 Apr 2009 18:26:59 GMT</pubDate></item><item><title><![CDATA[Reply to String Buchstabenweise aus Datei laden on Thu, 30 Apr 2009 18:33:18 GMT]]></title><description><![CDATA[<p>ok, ich habe vergessen zu berücksichtigen, dass er alles auf einmal ausliest. somit ist der script natürlich quatsch...</p>
<p>-------------------------------------------------------------------------<br />
ARGH GEWITTER</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1703835</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1703835</guid><dc:creator><![CDATA[5cript]]></dc:creator><pubDate>Thu, 30 Apr 2009 18:33:18 GMT</pubDate></item><item><title><![CDATA[Reply to String Buchstabenweise aus Datei laden on Thu, 30 Apr 2009 19:51:45 GMT]]></title><description><![CDATA[<p>Vor allem ist auch ein <code>while(!file.eof())</code> quatsch. Man sollte nie die Funktion <code>eof</code> als Abbruchbedingung nehmen, denn das <code>eofbit</code> Flag ist eigentlich immer zu spät. Es wird erst gesetzt, wenn eine Leseoperation über den Rand des Files hat probiert zu lesen. Man kann allerdings die Gültigkeit einer Leseoperation prüfen und dies sollte man auch tun. Die Prüfung erfolgt dadurch, dass jede Leseoperation den Stream zurückgibt. Der Stream selbst kann man direkt prüfen, ob er noch gültig ist:<br />
<a href="http://www.cplusplus.com/reference/iostream/ios/operator_voidpt/" rel="nofollow">http://www.cplusplus.com/reference/iostream/ios/operator_voidpt/</a><br />
bzw.<br />
<a href="http://www.cplusplus.com/reference/iostream/ios/operatornot/" rel="nofollow">http://www.cplusplus.com/reference/iostream/ios/operatornot/</a></p>
<p>Grüssli</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1703868</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1703868</guid><dc:creator><![CDATA[Dravere]]></dc:creator><pubDate>Thu, 30 Apr 2009 19:51:45 GMT</pubDate></item></channel></rss>