<?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[Wörter aus string lesen]]></title><description><![CDATA[<p>Hallo,<br />
ich hab eine Textdatei,die so auschaut:<br />
Name Vorname,telfonummer....<br />
Name Vorname,telfonummer....<br />
Name Vorname ,telfonummer.... //leerzeichen nach dem komma könnte es auch geben</p>
<p>Ich will dabei immer nur den Vornamen einlesen und dann mit einer Liste von Vornamen vergleichen,ob es sich um eine Frau oder Mann handelt und dann die komplette Zeile in eine andere entsprechende Textdatei(z.B. &quot;Maenner.txt&quot;) schreiben.<br />
Das Problem ist,ich weiß nicht wie ich jeweils das zweite Wort,also den Vornamen<br />
lesen soll,wenn ich eine Zeile in einen string speichere.<br />
Ich hab es mit folgender routine mal versucht:</p>
<pre><code class="language-cpp">int m_w(char *x,int &amp;wert) //x ist eine zeile,wert steht für m oder w oder  manuell falls in der liste nicht vorhanden
{

int warte;
           int count=1,save;
           int a=0,b=0;
          while(x[count]!=' ')//bis zur ersten leerzeichen
          {count++;}
          count++;
         save=count;//hält die position fest,bei der das wort beginnt
          while(x[count]!=',')//bis zum komma,allerdings könnte das komma auch  erst nach ein paar leerzeichen kommen :(
          {
          a++;count++;
          }
         char *name= new char[a]; //erstell einen char-string in der länge des vornamens

          while(x[save]!=',')
          {
          name[b]=x[save];b++;save++;//überträgt den vornamen aus x in name
          }
.
.
.
</code></pre>
<p>Das Problem ist nun,wie das Wort rausgelesen werden soll,ohne das er mir immer irgend nen schmarn anhängt,wie z.B: &quot;Angelika ⌂¢Xçò»&quot;</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/163937/wörter-aus-string-lesen</link><generator>RSS for Node</generator><lastBuildDate>Sun, 13 Sep 2026 12:37:24 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/163937.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 03 Nov 2006 09:30:31 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Wörter aus string lesen on Fri, 03 Nov 2006 09:30:31 GMT]]></title><description><![CDATA[<p>Hallo,<br />
ich hab eine Textdatei,die so auschaut:<br />
Name Vorname,telfonummer....<br />
Name Vorname,telfonummer....<br />
Name Vorname ,telfonummer.... //leerzeichen nach dem komma könnte es auch geben</p>
<p>Ich will dabei immer nur den Vornamen einlesen und dann mit einer Liste von Vornamen vergleichen,ob es sich um eine Frau oder Mann handelt und dann die komplette Zeile in eine andere entsprechende Textdatei(z.B. &quot;Maenner.txt&quot;) schreiben.<br />
Das Problem ist,ich weiß nicht wie ich jeweils das zweite Wort,also den Vornamen<br />
lesen soll,wenn ich eine Zeile in einen string speichere.<br />
Ich hab es mit folgender routine mal versucht:</p>
<pre><code class="language-cpp">int m_w(char *x,int &amp;wert) //x ist eine zeile,wert steht für m oder w oder  manuell falls in der liste nicht vorhanden
{

int warte;
           int count=1,save;
           int a=0,b=0;
          while(x[count]!=' ')//bis zur ersten leerzeichen
          {count++;}
          count++;
         save=count;//hält die position fest,bei der das wort beginnt
          while(x[count]!=',')//bis zum komma,allerdings könnte das komma auch  erst nach ein paar leerzeichen kommen :(
          {
          a++;count++;
          }
         char *name= new char[a]; //erstell einen char-string in der länge des vornamens

          while(x[save]!=',')
          {
          name[b]=x[save];b++;save++;//überträgt den vornamen aus x in name
          }
.
.
.
</code></pre>
<p>Das Problem ist nun,wie das Wort rausgelesen werden soll,ohne das er mir immer irgend nen schmarn anhängt,wie z.B: &quot;Angelika ⌂¢Xçò»&quot;</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1167508</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1167508</guid><dc:creator><![CDATA[c++heini]]></dc:creator><pubDate>Fri, 03 Nov 2006 09:30:31 GMT</pubDate></item><item><title><![CDATA[Reply to Wörter aus string lesen on Fri, 03 Nov 2006 09:34:20 GMT]]></title><description><![CDATA[<p>Du mußt ein Array reservieren, das eins länger ist als der Name und dann mit 0 terminieren. Woher soll sonst die Ausgabe wissen, wo der string zu ende ist.</p>
<p>Generel würde ich aber empfehlen dafür auf std::string zurückzugreifen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1167510</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1167510</guid><dc:creator><![CDATA[Jester]]></dc:creator><pubDate>Fri, 03 Nov 2006 09:34:20 GMT</pubDate></item><item><title><![CDATA[Reply to Wörter aus string lesen on Fri, 03 Nov 2006 09:36:18 GMT]]></title><description><![CDATA[<p>Die Stringverarbeitung in C erwartet, daß deine Zeichenketten nullterminiert sind (am Ende ein '\0') - das trifft für deine Zeichenfolgen nicht zu. Und deshalb wird aller Datenmüll mit zu deinem String gerechnet, bis das Programm zufällig auf eine 0 stößt.</p>
<p>Schnelle Lösung:</p>
<pre><code class="language-cpp">//hinter der while()-Schleife anhängen:
name[b]='\0';
</code></pre>
<p>(und du mußt vermutlich ein Zeichen mehr reservieren)</p>
<p>Bessere Lösung: verwende std::string</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1167512</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1167512</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Fri, 03 Nov 2006 09:36:18 GMT</pubDate></item><item><title><![CDATA[Reply to Wörter aus string lesen on Fri, 03 Nov 2006 09:38:44 GMT]]></title><description><![CDATA[<p>du meinst</p>
<pre><code class="language-cpp">char *name= new char[a+1];
</code></pre>
<p>und er fängt ja bei null(b) an,aber das pRogramm strürzt immer ab,wenn ich mit einem || die leerzeichen berücksichtige...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1167515</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1167515</guid><dc:creator><![CDATA[c++heini]]></dc:creator><pubDate>Fri, 03 Nov 2006 09:38:44 GMT</pubDate></item><item><title><![CDATA[Reply to Wörter aus string lesen on Fri, 03 Nov 2006 09:42:11 GMT]]></title><description><![CDATA[<p>oh achso,ich hab schon lange nicht mehr programmiert,jetzt geht's!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1167517</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1167517</guid><dc:creator><![CDATA[c++heini]]></dc:creator><pubDate>Fri, 03 Nov 2006 09:42:11 GMT</pubDate></item><item><title><![CDATA[Reply to Wörter aus string lesen on Fri, 03 Nov 2006 09:49:05 GMT]]></title><description><![CDATA[<p>ncoh was,wie kann ich zeilenwese,also mit zeilenumbruch in eine datei schreiben?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1167525</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1167525</guid><dc:creator><![CDATA[c++heini]]></dc:creator><pubDate>Fri, 03 Nov 2006 09:49:05 GMT</pubDate></item><item><title><![CDATA[Reply to Wörter aus string lesen on Fri, 03 Nov 2006 09:50:40 GMT]]></title><description><![CDATA[<p>Ganz normal <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="😉"
    /> Zeilenumbrücher erhältst du, indem du '\n' schreibst (oder ein endl an einen Stream übergibst).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1167526</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1167526</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Fri, 03 Nov 2006 09:50:40 GMT</pubDate></item></channel></rss>