<?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[Nach einem bestimmten Zeichen den restlichen Satz ausgeben]]></title><description><![CDATA[<p>Hallo liebe Leute,</p>
<p>ich brauche unbedingt eure Hilfe, da ich nicht mehr weiterkomme und schon allmählich verzweifle. Umso mehr hoffe ich das ihr mir weiterhelfen könnt.<br />
Und bitte seid lieb zu mir, ich bin Anfänger im Programmieren.</p>
<p>Also zur Aufgabenstellung, ich möchte ein Programm schreiben, dass eine Datei einliest und ab dem Beginn eines bestimmten Zeichens (in meinem Beispiel ///) den restlichen Satz(dieser auch Leerzeichen beinhaltet) aus der Datei ausgibt.</p>
<p>Dies bekomme ich nicht hin :(. Ich kann mir nur das folgende Wort ausgeben lassen und nicht den ganzen restlichen Satz bis zum Zeilenende.</p>
<p>Zudem möchte ich dann noch einen Textausschnitt aus der Datei der in &quot;...&quot; steht ausgeben lassen. Und dieser Textausschnitt soll dann mit dem zuvorigen Zeilenende zusammen ausgegeben werden, da diese zusammengehören.</p>
<p>Ein Beispiel:</p>
<p>/// Anfang des Programms<br />
#define DES_PROG_BGN &quot;BGN&quot;</p>
<p>Somit soll das ausgegeben werden -&gt; &quot;BGN&quot; = Anfang</p>
<p>Ich hoffe ihr habt verstanden was ich meine^^.</p>
<p>Mein Code sieht momentan so aus:</p>
<p>#include &lt;iostream&gt;<br />
#include &lt;fstream&gt;<br />
#include &lt;limits&gt;<br />
#include &lt;string&gt;</p>
<p>using namespace std;</p>
<p>int main(int argc, char *argv[]){<br />
ifstream file;<br />
string nachfolgender_text;<br />
char buchstabe;<br />
char wait;</p>
<p>// Datei öffnen<br />
file.open(&quot;text.txt&quot;, ios::in);</p>
<p>if (file.good()){<br />
// Wenn die Datei geoeffnet werden konnte...<br />
// An den Anfang der Datei springen<br />
file.seekg(0L, ios::beg);</p>
<p>while (! file.eof()){<br />
// Die Datei zeilenweise auslesen<br />
file.get(buchstabe);</p>
<p>while( file.ignore( numeric_limits&lt; streamsize &gt;::max(), '#' ) &gt;&gt; nachfolgender_text ){<br />
cout &lt;&lt; &quot;da steht: &quot; &lt;&lt; nachfolgender_text &lt;&lt; endl;<br />
}<br />
}<br />
cout &lt;&lt; endl;<br />
}<br />
else{<br />
// Wenn die Datei nicht geoeffnet werden konnte,<br />
// aus welchen Gruenden auch immer...<br />
cout &lt;&lt; &quot;Datei nicht gefunden.&quot; &lt;&lt; endl;<br />
}<br />
cin.get(wait);<br />
return 0;<br />
}</p>
<p>Ich würde mich über jegliche Tipps und Verbesserungsvorschläge eurerseits sehr freuen :).</p>
<p>Vielen Dank im Voraus!</p>
<p>LG</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/332200/nach-einem-bestimmten-zeichen-den-restlichen-satz-ausgeben</link><generator>RSS for Node</generator><lastBuildDate>Tue, 28 Apr 2026 05:14:09 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/332200.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 15 Apr 2015 12:13:07 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Nach einem bestimmten Zeichen den restlichen Satz ausgeben on Wed, 15 Apr 2015 12:13:07 GMT]]></title><description><![CDATA[<p>Hallo liebe Leute,</p>
<p>ich brauche unbedingt eure Hilfe, da ich nicht mehr weiterkomme und schon allmählich verzweifle. Umso mehr hoffe ich das ihr mir weiterhelfen könnt.<br />
Und bitte seid lieb zu mir, ich bin Anfänger im Programmieren.</p>
<p>Also zur Aufgabenstellung, ich möchte ein Programm schreiben, dass eine Datei einliest und ab dem Beginn eines bestimmten Zeichens (in meinem Beispiel ///) den restlichen Satz(dieser auch Leerzeichen beinhaltet) aus der Datei ausgibt.</p>
<p>Dies bekomme ich nicht hin :(. Ich kann mir nur das folgende Wort ausgeben lassen und nicht den ganzen restlichen Satz bis zum Zeilenende.</p>
<p>Zudem möchte ich dann noch einen Textausschnitt aus der Datei der in &quot;...&quot; steht ausgeben lassen. Und dieser Textausschnitt soll dann mit dem zuvorigen Zeilenende zusammen ausgegeben werden, da diese zusammengehören.</p>
<p>Ein Beispiel:</p>
<p>/// Anfang des Programms<br />
#define DES_PROG_BGN &quot;BGN&quot;</p>
<p>Somit soll das ausgegeben werden -&gt; &quot;BGN&quot; = Anfang</p>
<p>Ich hoffe ihr habt verstanden was ich meine^^.</p>
<p>Mein Code sieht momentan so aus:</p>
<p>#include &lt;iostream&gt;<br />
#include &lt;fstream&gt;<br />
#include &lt;limits&gt;<br />
#include &lt;string&gt;</p>
<p>using namespace std;</p>
<p>int main(int argc, char *argv[]){<br />
ifstream file;<br />
string nachfolgender_text;<br />
char buchstabe;<br />
char wait;</p>
<p>// Datei öffnen<br />
file.open(&quot;text.txt&quot;, ios::in);</p>
<p>if (file.good()){<br />
// Wenn die Datei geoeffnet werden konnte...<br />
// An den Anfang der Datei springen<br />
file.seekg(0L, ios::beg);</p>
<p>while (! file.eof()){<br />
// Die Datei zeilenweise auslesen<br />
file.get(buchstabe);</p>
<p>while( file.ignore( numeric_limits&lt; streamsize &gt;::max(), '#' ) &gt;&gt; nachfolgender_text ){<br />
cout &lt;&lt; &quot;da steht: &quot; &lt;&lt; nachfolgender_text &lt;&lt; endl;<br />
}<br />
}<br />
cout &lt;&lt; endl;<br />
}<br />
else{<br />
// Wenn die Datei nicht geoeffnet werden konnte,<br />
// aus welchen Gruenden auch immer...<br />
cout &lt;&lt; &quot;Datei nicht gefunden.&quot; &lt;&lt; endl;<br />
}<br />
cin.get(wait);<br />
return 0;<br />
}</p>
<p>Ich würde mich über jegliche Tipps und Verbesserungsvorschläge eurerseits sehr freuen :).</p>
<p>Vielen Dank im Voraus!</p>
<p>LG</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2450300</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2450300</guid><dc:creator><![CDATA[Bitte_Helft_Mir]]></dc:creator><pubDate>Wed, 15 Apr 2015 12:13:07 GMT</pubDate></item><item><title><![CDATA[Reply to Nach einem bestimmten Zeichen den restlichen Satz ausgeben on Wed, 15 Apr 2015 12:19:15 GMT]]></title><description><![CDATA[<p>Editier mal bitte deinen Eintrag und pack es in Code tags und formatier mal die den Code und die geschweiften Klammern.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2450301</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2450301</guid><dc:creator><![CDATA[Ruvi]]></dc:creator><pubDate>Wed, 15 Apr 2015 12:19:15 GMT</pubDate></item><item><title><![CDATA[Reply to Nach einem bestimmten Zeichen den restlichen Satz ausgeben on Wed, 15 Apr 2015 12:30:44 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &lt;fstream&gt;
#include &lt;limits&gt;
#include &lt;string&gt;

using namespace std;

int main(int argc, char *argv[]){
    ifstream file;
    string nachfolgender_text;
    char buchstabe;
    char wait;

    // Datei öffnen
    file.open(&quot;text.txt&quot;, ios::in);

    if (file.good()){
       // Wenn die Datei geoeffnet werden konnte...
       // An den Anfang der Datei springen
       file.seekg(0L, ios::beg);  

       while (! file.eof()){
             // Die Datei zeilenweise auslesen
             file.get(buchstabe);

            while( file.ignore( numeric_limits&lt; streamsize &gt;::max(), '#' ) &gt;&gt; nachfolgender_text ){
                   cout &lt;&lt; &quot;da steht: &quot; &lt;&lt; nachfolgender_text &lt;&lt; endl;
            }
       }
       cout &lt;&lt; endl;
    }
    else{
         // Wenn die Datei nicht geoeffnet werden konnte
         cout &lt;&lt; &quot;Datei nicht gefunden.&quot; &lt;&lt; endl;
    }

    cin.get(wait);
    return 0;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2450306</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2450306</guid><dc:creator><![CDATA[Bitte_Helft_Mir]]></dc:creator><pubDate>Wed, 15 Apr 2015 12:30:44 GMT</pubDate></item><item><title><![CDATA[Reply to Nach einem bestimmten Zeichen den restlichen Satz ausgeben on Wed, 15 Apr 2015 13:59:56 GMT]]></title><description><![CDATA[<p>Kannst Du vielleicht ein Beispiel-Text posten?<br />
Mir ist nicht ganz klar wie ein Satz begrenzt ist.<br />
Gibt es in jeder Zeile nur einen Satz oder kann ein Satz zeilenübergreifend sein und der durch &quot;.&quot;, &quot;!&quot;, &quot;?&quot; begrenzt wird?</p>
<p>Mein Konstrukt zum File-lesen würde eher so aussehen, aber ich bin echt kein iostream Experte und mich kann man mit iostreams eigentlich quer übers Feld jagen. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f644.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_rolling_eyes"
      title=":rolling_eyes:"
      alt="🙄"
    /></p>
<pre><code>int main()
{
  std::string str;
  ifstream file(&quot;text.txt&quot;);

  if (!file.is_open())
      //error handling here

  while(file.getline(str))
  { 
   //insert parsing here
  }

}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2450322</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2450322</guid><dc:creator><![CDATA[Ruvi]]></dc:creator><pubDate>Wed, 15 Apr 2015 13:59:56 GMT</pubDate></item><item><title><![CDATA[Reply to Nach einem bestimmten Zeichen den restlichen Satz ausgeben on Wed, 15 Apr 2015 14:52:40 GMT]]></title><description><![CDATA[<p>Also wenn ich das richtig verstehe, hast du pro Zeile: &lt;irgendwas&gt; &lt;zeichen&gt; &lt;rest&gt;<br />
&lt;rest&gt; willste haben. Soweit richtig?</p>
<pre><code>while (std::getline(file.ignore( numeric_limits&lt; streamsize &gt;::max(), '#'), str))
   std::cout &lt;&lt; str &lt;&lt; '\n';
</code></pre>
<p>(ungetestet)<br />
Diese zwei Zeilen sind deine ganze Lese Routine.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2450334</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2450334</guid><dc:creator><![CDATA[Nathan]]></dc:creator><pubDate>Wed, 15 Apr 2015 14:52:40 GMT</pubDate></item><item><title><![CDATA[Reply to Nach einem bestimmten Zeichen den restlichen Satz ausgeben on Wed, 15 Apr 2015 18:31:51 GMT]]></title><description><![CDATA[<p>Das ist doch eher eine Aufgabe für <code>sed</code> oder so. Warum willst Du das in C++ machen?</p>
<p>Ohne <code>sed</code> -Expertenwissen:</p>
<pre><code>sed -n -e '/^\/\{3\}/ N; s/^\/\{3\}\(.*\)\n[^&quot;]*\(&quot;[^&quot;]*&quot;\)/\2=\1/p' test.dat
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2450381</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2450381</guid><dc:creator><![CDATA[Furble Wurble]]></dc:creator><pubDate>Wed, 15 Apr 2015 18:31:51 GMT</pubDate></item><item><title><![CDATA[Reply to Nach einem bestimmten Zeichen den restlichen Satz ausgeben on Fri, 17 Apr 2015 07:42:14 GMT]]></title><description><![CDATA[<p>Vielen lieben Dank für die Zeit die ihr euch genommen habt mir zu antworten :*!<br />
Dadurch bin ich schon ein gutes Stück voran gekommen :)!</p>
<p>Dank Nathan kann ich nach einem bestimmten Zeichen (in meinem Beispiel <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f635.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--dizzy_face"
      title="#)"
      alt="😵"
    /> jetzt schon mal bis zum Zeilenende die kompletten folgenden Zeichen ausgeben.</p>
<p>Jedoch möchte ich diese Zeile noch verknüpft mit ein paar anderen Zeichen ausgeben diese stehen in zwei Anführungszeichen. ---&gt; &quot;zeichen&quot;</p>
<p>Ich gebe euch mal ein Beispiel wie die Textdatei aussieht.</p>
<p>-----&gt; /// Anfang des Programms<br />
#define DES_PROG_BGN &quot;BGN&quot;</p>
<p>/// Ende des Programms<br />
#define DES_PROG_END &quot;END&quot;</p>
<p>/// Prüfung der Daten beginnt.<br />
#define PRÜF_DER_DATEN &quot;PRÜF&quot;</p>
<p>/// Prüfung der Daten beginnt.<br />
/// Daten werden dazu eingelesen.<br />
#define DATEN_EINLESEN &quot;DATEN&quot;</p>
<p>So stehen ungefähr 100 dieser Datensätze in der Textdatei.</p>
<p>Mittels des Programms möchte ich erzeugen dass am Ende in der Konsole das ausgegeben werden soll:</p>
<p>-----&gt; &quot;BGN&quot; = Anfang des Programms</p>
<p>&quot;END&quot; = Ende des Programms</p>
<p>&quot;PRÜF&quot; = Prüfung der Datein benötigt.</p>
<p>&quot;DATEN&quot; = Prüfung der Daten beginnt.<br />
= Daten werden dazu eingelesen.</p>
<p>Wie ihr seht gehören die Daten die jeweils in einem Datensatz stehen zusammen und ich möchte die Zeichen die in &quot;...&quot; stehen mit denen nach den /// bei der Ausgabe auf der Konsole verknüpfen.</p>
<p>Ich wäre euch weiterhin für jeden weiteren Tipp sehr dankbar :)!</p>
<p>Vielen Dank im Voraus!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2450553</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2450553</guid><dc:creator><![CDATA[Bitte_Helft_Mir]]></dc:creator><pubDate>Fri, 17 Apr 2015 07:42:14 GMT</pubDate></item><item><title><![CDATA[Reply to Nach einem bestimmten Zeichen den restlichen Satz ausgeben on Fri, 17 Apr 2015 11:52:56 GMT]]></title><description><![CDATA[<p>Gib mal ein Minimalbeispiel wie so eine einzulesende Datei aussieht.<br />
Die defines verwirren mich irgendwie in diesem Zusammenhang.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2450603</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2450603</guid><dc:creator><![CDATA[EOP]]></dc:creator><pubDate>Fri, 17 Apr 2015 11:52:56 GMT</pubDate></item><item><title><![CDATA[Reply to Nach einem bestimmten Zeichen den restlichen Satz ausgeben on Fri, 17 Apr 2015 13:09:39 GMT]]></title><description><![CDATA[<p>Okay, dass hab ich jetzt so weit alleine hinbekommen :).</p>
<p>Jedoch habe ich jetzt ein anderen Anliegen ^^. Kann man sich mit</p>
<pre><code>while (std::getline(file.ignore( numeric_limits&lt; streamsize &gt;::max(), '#'), str))
   std::cout &lt;&lt; str &lt;&lt; '\n';
</code></pre>
<p>auch nur einen Teilbereich der restlichen Zeile ausgeben lassen?</p>
<p>Da wenn ich mir jetzt das Zeilenende ausgeben lasse, immer noch ein &quot; am Ende steht und ich das nicht in der Ausgabe stehen haben möchte.</p>
<p>Ich würde mich weiterhin über Tipps von euch sehr freuen :)!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2450640</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2450640</guid><dc:creator><![CDATA[Bitte_Helft_Mir]]></dc:creator><pubDate>Fri, 17 Apr 2015 13:09:39 GMT</pubDate></item><item><title><![CDATA[Reply to Nach einem bestimmten Zeichen den restlichen Satz ausgeben on Tue, 21 Apr 2015 06:14:10 GMT]]></title><description><![CDATA[<p>Hat jemand dazu eine Idee?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2451031</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2451031</guid><dc:creator><![CDATA[Bitte_Helft_Mir]]></dc:creator><pubDate>Tue, 21 Apr 2015 06:14:10 GMT</pubDate></item></channel></rss>