<?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[fehler mit strcpy beim Auslesen aus txt Dateien]]></title><description><![CDATA[<p>Hallo zusammen!</p>
<p>Ich möchte gerne aus einer txt Datei auslesen und bestimmte Parameter in einem Programm auslesen lassen.<br />
Nun bekomme ich die Fehlermeldung, dass es sich um eine ungültige Umwandlung von char in char* handelt. Der Fehler findet sich laut Compiler in Zeile 55. Kann man mit strcopy so keine weiteren Informationen im Array speichen?</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
using namespace std;
#include &lt;string.h&gt;
#include &lt;stdlib.h&gt;
#include &lt;fstream&gt;

struct personen
   {
   char name[64];
   int ordnungsnummer;
   char identifikation;
   } ;
enum zustand {imON,imNamen,imID};

int main()
{
struct personen person;
char puffer[100],zeichen;
int zaehler;
enum zustand zustand;

ifstream datei;

datei.open(&quot;personen.txt&quot;);

zustand=imON;
zaehler=0;
for (;;)
    {
    datei.get(zeichen);
    if (datei.eof()) break;
    switch(zeichen)
       {
    case '&quot;':
       puffer[zaehler]='\0';
       zaehler=0;
       person.ordnungsnummer=atoi(puffer); //atoi = convert string to integer
       zustand=imNamen;
       break;
    case '(':
       if (zustand!=imON)
          {
          puffer[zaehler]='\0';
          zaehler=0;
          strcpy(person.name,puffer);
          zustand=imID;
          }
       break;
    case ')':
       if (zustand!=imID)
          {
          puffer[zaehler]='\0';
          zaehler=0;
          strcpy(person.identifikation,puffer);
          zustand=imID;
          }
       puffer[zaehler]='\0';
       zaehler=0;
       cout &lt;&lt; &quot;Gelesen: &quot; &lt;&lt; person.ordnungsnummer &lt;&lt; &quot; mit Name &quot; &lt;&lt; person.name &lt;&lt; &quot;und Identifikation &quot; &lt;&lt;
               person.identifikation &lt;&lt; endl;
       break;
    default:
       puffer[zaehler]=zeichen;
       zaehler++;
       break;
       }
    }
{
/* bitte ignorieren; nur bis zu Ihrer Anmeldung notwendig */
int x;
cin &gt;&gt; x;
}

}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/topic/300235/fehler-mit-strcpy-beim-auslesen-aus-txt-dateien</link><generator>RSS for Node</generator><lastBuildDate>Tue, 28 Apr 2026 09:34:15 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/300235.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 28 Feb 2012 13:15:03 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to fehler mit strcpy beim Auslesen aus txt Dateien on Tue, 28 Feb 2012 13:15:03 GMT]]></title><description><![CDATA[<p>Hallo zusammen!</p>
<p>Ich möchte gerne aus einer txt Datei auslesen und bestimmte Parameter in einem Programm auslesen lassen.<br />
Nun bekomme ich die Fehlermeldung, dass es sich um eine ungültige Umwandlung von char in char* handelt. Der Fehler findet sich laut Compiler in Zeile 55. Kann man mit strcopy so keine weiteren Informationen im Array speichen?</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
using namespace std;
#include &lt;string.h&gt;
#include &lt;stdlib.h&gt;
#include &lt;fstream&gt;

struct personen
   {
   char name[64];
   int ordnungsnummer;
   char identifikation;
   } ;
enum zustand {imON,imNamen,imID};

int main()
{
struct personen person;
char puffer[100],zeichen;
int zaehler;
enum zustand zustand;

ifstream datei;

datei.open(&quot;personen.txt&quot;);

zustand=imON;
zaehler=0;
for (;;)
    {
    datei.get(zeichen);
    if (datei.eof()) break;
    switch(zeichen)
       {
    case '&quot;':
       puffer[zaehler]='\0';
       zaehler=0;
       person.ordnungsnummer=atoi(puffer); //atoi = convert string to integer
       zustand=imNamen;
       break;
    case '(':
       if (zustand!=imON)
          {
          puffer[zaehler]='\0';
          zaehler=0;
          strcpy(person.name,puffer);
          zustand=imID;
          }
       break;
    case ')':
       if (zustand!=imID)
          {
          puffer[zaehler]='\0';
          zaehler=0;
          strcpy(person.identifikation,puffer);
          zustand=imID;
          }
       puffer[zaehler]='\0';
       zaehler=0;
       cout &lt;&lt; &quot;Gelesen: &quot; &lt;&lt; person.ordnungsnummer &lt;&lt; &quot; mit Name &quot; &lt;&lt; person.name &lt;&lt; &quot;und Identifikation &quot; &lt;&lt;
               person.identifikation &lt;&lt; endl;
       break;
    default:
       puffer[zaehler]=zeichen;
       zaehler++;
       break;
       }
    }
{
/* bitte ignorieren; nur bis zu Ihrer Anmeldung notwendig */
int x;
cin &gt;&gt; x;
}

}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2186588</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2186588</guid><dc:creator><![CDATA[Stockhausen]]></dc:creator><pubDate>Tue, 28 Feb 2012 13:15:03 GMT</pubDate></item><item><title><![CDATA[Reply to fehler mit strcpy beim Auslesen aus txt Dateien on Tue, 28 Feb 2012 13:30:30 GMT]]></title><description><![CDATA[<p>Die Fehlermeldung ist doch ziemlich eindeutig. Aber mach dir keinen Kopf, nutze std::string für alle Zeichenketten und die Welt ist gleich viel einfacher. Du willst doch schließlich C++ machen, kein C. Überhaupt sieht dein Programm sehr nach C aus. Hast du Internettutorials oder Bücher vom Galileo-Verlag zum Lernen benutzt?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2186594</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2186594</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Tue, 28 Feb 2012 13:30:30 GMT</pubDate></item><item><title><![CDATA[Reply to fehler mit strcpy beim Auslesen aus txt Dateien on Tue, 28 Feb 2012 13:51:37 GMT]]></title><description><![CDATA[<p>Ok, danke für den Hinweis. Nein, bestimmte Bücher vom Galileo Verlag habe ich nicht benutzt. Ich bin einfach ein Anfänger.<br />
std::string ist jedoch neu für mich. Wie kann ich das nun in den vorhandenen Code implementieren?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2186601</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2186601</guid><dc:creator><![CDATA[Stockhausen]]></dc:creator><pubDate>Tue, 28 Feb 2012 13:51:37 GMT</pubDate></item><item><title><![CDATA[Reply to fehler mit strcpy beim Auslesen aus txt Dateien on Tue, 28 Feb 2012 14:05:35 GMT]]></title><description><![CDATA[<p>Stockhausen schrieb:</p>
<blockquote>
<p>Wie kann ich das nun in den vorhandenen Code implementieren?</p>
</blockquote>
<p>Was soll das Programm überhaupt machen? Ich kann nur erkennen, dass da irgendwie formatierte Daten gelesen werden sollen. Stell mal das Format vor.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2186606</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2186606</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Tue, 28 Feb 2012 14:05:35 GMT</pubDate></item><item><title><![CDATA[Reply to fehler mit strcpy beim Auslesen aus txt Dateien on Tue, 28 Feb 2012 21:35:54 GMT]]></title><description><![CDATA[<p>Das Programm soll insgesamt eine Liste von Personen auslesen und diese in ein Verhältnis zusammen stellen. Zunächst möchte ich einfach nur eine Datei auslesen, die folgendes Format hat:</p>
<pre><code>1 &quot;agostinho luis de ataide (rp-agoataide)&quot;  URL &quot;http://localhost:8080/mhk/servlet/do?action=show&amp;id=rp-agoataide&quot;
  2 &quot;antonio carvalho coelho (rp-amz11-per14)&quot;  URL &quot;http://localhost:8080/mhk/servlet/do?action=show&amp;id=rp-amz11-per14&quot;
  3 &quot;antonio galvao (rp-amz18-per7)&quot;  URL &quot;http://localhost:8080/mhk/servlet/do?action=show&amp;id=rp-amz18-per7&quot;
  4 &quot;luis de seabra (rp-amz24-per17)&quot;  URL &quot;http://localhost:8080/mhk/servlet/do?action=show&amp;id=rp-amz24-per17&quot;
  5 &quot;inacio coelho (rp-amz24-per19)&quot;  URL &quot;http://localhost:8080/mhk/servlet/do?action=show&amp;id=rp-amz24-per19&quot;
</code></pre>
<p>Und das soll halt so ausgegeben werden von dem Programm:</p>
<p>Gelesen: 1 mit Name agostinho luis de ataide mit der Identifikation rp-agoataide</p>
<p>Soweit funktioniert das ja auch, nur die Identifikation gibt das Programm nicht aus aufgrund des strcpy Befehls...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2186814</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2186814</guid><dc:creator><![CDATA[Stockhausen]]></dc:creator><pubDate>Tue, 28 Feb 2012 21:35:54 GMT</pubDate></item><item><title><![CDATA[Reply to fehler mit strcpy beim Auslesen aus txt Dateien on Tue, 28 Feb 2012 21:41:26 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">char identifikation[100];
</code></pre>
<p>Zeile 12</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2186818</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2186818</guid><dc:creator><![CDATA[Videonauth]]></dc:creator><pubDate>Tue, 28 Feb 2012 21:41:26 GMT</pubDate></item><item><title><![CDATA[Reply to fehler mit strcpy beim Auslesen aus txt Dateien on Tue, 28 Feb 2012 21:45:50 GMT]]></title><description><![CDATA[<p>Hy</p>
<p>Die sache mit den string ist relative einfach, ersetzt &quot;char&quot; durch &quot;string&quot; und includiere noch den Header &quot;&lt;string&gt;&quot;. Gleich vorneweg hier noch eine Referenz zu den String-Befehlen: <a href="http://www.cplusplus.com/reference/string/string/" rel="nofollow">http://www.cplusplus.com/reference/string/string/</a></p>
<p>Und statt folgenden</p>
<pre><code>puffer[zaehler]=zeichen;
zaehler++;
</code></pre>
<p>wird dann dieser Code benutzt:</p>
<pre><code>puffer.append(zeichen)
</code></pre>
<p>welcher Ebenfalls das Zeichen ans Ende des String-Buffers setzt.</p>
<p>MfG Marco</p>
<p>PS: ein puffer.clear() löscht den kompletten Buffer wieder.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2186819</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2186819</guid><dc:creator><![CDATA[Marc-O]]></dc:creator><pubDate>Tue, 28 Feb 2012 21:45:50 GMT</pubDate></item><item><title><![CDATA[Reply to fehler mit strcpy beim Auslesen aus txt Dateien on Tue, 28 Feb 2012 22:19:08 GMT]]></title><description><![CDATA[<p>Videonauth schrieb:</p>
<blockquote>
<pre><code class="language-cpp">char identifikation[100];
</code></pre>
<p>Zeile 12</p>
</blockquote>
<p><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>
]]></description><link>https://www.c-plusplus.net/forum/post/2186827</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2186827</guid><dc:creator><![CDATA[EOP]]></dc:creator><pubDate>Tue, 28 Feb 2012 22:19:08 GMT</pubDate></item><item><title><![CDATA[Reply to fehler mit strcpy beim Auslesen aus txt Dateien on Tue, 28 Feb 2012 22:29:38 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &lt;string&gt;

using namespace std;

struct Person // Eine Person, nicht mehrere, daher Einzahl
{
  int ordnungsnummer;
  string name;
  string identifikation;
  string url;     // Ich war mal so frei, zu raten, 
                  // dass du die URL auch noch möchtest
};

// Nun schreiben wir eine Funktion, die Daten in so ein Struct liest.
// Dieser geben wir einen speziellen komischen Namen, namens operator&gt;&gt;.
// Das ist ein besonderer Name, durch den wir diese Funktion später mittels
// stream &gt;&gt; person;
// aufrufen können und dann das gleiche passiert, als hätten wir
// operator&gt;&gt;(stream, person);
// geschrieben. Das nennt man Operatorüberladung

istream&amp; operator&gt;&gt;(istream&amp; in, Person&amp; person)
{
  // Zuerst kommt die ordnungsnummer:
  in &gt;&gt; person.ordnungsnummer;   // Das kennst du schon. Mit der Erklärung von
                                 // oben verstehst du nun auch, dass dies auch
                                 // nur ein versteckter Aufruf der Funktion
                                 // operator&gt;&gt;(istream&amp;, int&amp;) ist. 

  // Jetzt lesen wir das erste Anführungszeichen:
  char anfuehrungszeichen = 0;
  in &gt;&gt; anfuehrungszeichen;
  // Teste, ob die Datei das richtige Format hat
  if (anfuehrungszeichen != '&quot;')
    // Falls nicht, dann war das gar kein gültiger Datensatz. Setze Fehlerflag.
    in.setstate(ios::failbit);

  // hole nun alles was folgt bis ein '(' gefunden wird.
  getline(in, person.name, '(');
  // hole nun alles was folgt bis ein ')' gefunden wird.
  getline(in, person.identifikation, ')');

  // Lese das schließende Anführungszeichen und &quot;URL&quot; und teste Format
  anfuehrungszeichen = 0;
  string url;
  in &gt;&gt; anfuehrungszeichen;
  in &gt;&gt; url;
  if (anfuehrungszeichen != '&quot;' or url != &quot;URL&quot;)
    in.setstate(ios::failbit);

  // Weiter zum nächsten Anführungszeichen
  anfuehrungszeichen = 0;
  in &gt;&gt; anfuehrungszeichen;
  if (anfuehrungszeichen != '&quot;')
    in.setstate(ios::failbit);

  // Und die URL bis zum nächsten Anführungszeichen
  getline(in, person.url, '&quot;');

  // Und fertig. Damit eventuelle Fehler nach außen getragen werden können
  // Und damit man mehrere Funktionsaufrufe a la
  // streamobjekt &gt;&gt; wert1 &gt;&gt; wert2;
  // verketten kann, gibt man den nun um eine Person ausgelesenen Stream selbst
  // wieder zurück:
  return in;
}

// Das gleiche können wir auch für die Ausgabe machen, nur umgekehrt:
ostream&amp; operator&lt;&lt;(ostream&amp; out, const Person&amp; person)
{
  return out &lt;&lt; person.ordnungsnummer &lt;&lt; &quot; mit Name &quot; &lt;&lt; person.name 
             &lt;&lt; &quot; mit der Identifikation &quot; &lt;&lt; person.identifikation 
             &lt;&lt; &quot; und der URL &quot; &lt;&lt; person.url;
  // Eigentlich ist es nicht sehr schick, dass das Format der Ausgabe 
  // nicht dem Format der Eingabe entspricht, aber das war eine Anforderung
  // von dir.
}

// Nun noch eine kurze Demo, wie das dann aussehen kann:
#include &lt;fstream&gt;  // Du wolltest aus Dateien lesen
#include &lt;vector&gt;   // Du willst das Gelesene bestimmt auch irgenwo speichern

int main()
{
  vector&lt;Person&gt; personen;
  ifstream datei(&quot;personen.txt&quot;);
  Person person;
  while (datei &gt;&gt; person)  // Das ist doch schön, wenn das Hauptprogramm so aussieht.
    {
      cout &lt;&lt; &quot;Gelesen: &quot; &lt;&lt; person &lt;&lt; '\n';
      personen.push_back(person);
    }

  // Im Vector &quot;personen&quot; sind nun alle eingelesenen Datensätze, bereit für Action!
}
</code></pre>
<p>Das sieht jetzt lang aus, das liegt daran, dass 40 Zeilen Kommentar sind. Wenn du die weglässt, ist das total kurz und einfach. Keine komplizierten Kontrollstrukturen, kein C-String-Gefrickel und nichts was irgendwie schiefgehen könnte (dein bisheriges Programm explodiert, wenn die Eingabe nicht den Erwartungen entspricht). Einfach nur eine Standardfunktion nach der anderen aufgerufen und diese die ganze schwere Arbeit (wie z.B. Schleifen <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="🙂"
    /> ) machen lassen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2186830</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2186830</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Tue, 28 Feb 2012 22:29:38 GMT</pubDate></item><item><title><![CDATA[Reply to fehler mit strcpy beim Auslesen aus txt Dateien on Tue, 28 Feb 2012 22:56:20 GMT]]></title><description><![CDATA[<p>Hallo Stockhausen,</p>
<p>Verwende auf jeden Fall <a href="http://www.cplusplus.com/reference/string/string/" rel="nofollow">std::string</a>, so wie Dir schon geraten wurde.</p>
<pre><code class="language-cpp">struct person // eine Person
{
    std::string name;
    int ordnungsnummer;
    std::string identifikation;
};
</code></pre>
<p>Und wenn Du Zahlen lesen möchtest, so <a href="http://www.cplusplus.com/reference/iostream/istream/operator%3E%3E/" rel="nofollow">lese auch Zahlen</a> und keine Ziffern, die später interpretiert werden.</p>
<pre><code class="language-cpp">person p;
    datei &gt;&gt; p.ordnungsnummer;
</code></pre>
<p>Mit <a href="http://www.cplusplus.com/reference/string/getline/" rel="nofollow">getline</a> kannst Du einen std::string bis zu einem bestimmten Zeichen ('&quot;' oder '(') einlesen.</p>
<pre><code class="language-cpp">getline( datei, p.name, '(' );
</code></pre>
<p>.. und wenn Du zwischendurch ein (druckbares) Zeichen überlesen möchtest, so kannst Du das mit</p>
<pre><code class="language-cpp">char dummy;
    datei &gt;&gt; dummy;
</code></pre>
<p>und schließlich kann mit <a href="http://www.cplusplus.com/reference/iostream/istream/ignore/" rel="nofollow">ignore</a> alles bis zu einem bestimmten Zeichen (z.B. Zeilenende) überlesen werden.</p>
<p>Zusammengefasst:</p>
<pre><code class="language-cpp">person p;
    datei &gt;&gt; p.ordnungsnummer;
    char dummy;
    datei &gt;&gt; dummy; // '&quot;' vor'm Namen überlesen
    getline( datei, p.name, '(' );
    getline( datei, p.identifikation, ')' );
    datei.ignore( 9999, '\n' ); // bis zum Zeilenende überlesen
</code></pre>
<p>so könnte das Programm im Ganzen aussehen:</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &lt;fstream&gt;
#include &lt;string&gt;
#include &lt;vector&gt;
#include &lt;limits&gt; // numeric_limits

template&lt; char C &gt;
std::istream&amp; Char( std::istream&amp; in )
{
    char c;
    if( in &gt;&gt; c &amp;&amp; c != C )
        in.setstate( std::ios_base::failbit );
    return in;
}
std::istream&amp; skipline( std::istream&amp; in )
{
    return in.ignore( std::numeric_limits&lt; std::streamsize &gt;::max(), '\n' );
}

struct person // eine Person
{
    std::string name;
    int ordnungsnummer;
    std::string identifikation;
}; 

// --   eine Person einlesen
std::istream&amp; operator&gt;&gt;( std::istream&amp; in, person&amp; p )
{   // Format:                       &lt;nr&gt;                    &quot;&lt;--- Name --&gt;(&lt;----- identifikation -&gt;)
    return getline( getline( in &gt;&gt; p.ordnungsnummer &gt;&gt; Char&lt;'&quot;'&gt;, p.name, '(' ), p.identifikation, ')' );
}

int main()
{
    using namespace std;
    vector&lt; person &gt; personen; // viele Personen
    {
        ifstream datei(&quot;personen.txt&quot;);
        if( !datei.is_open() )
        {
            cerr &lt;&lt; &quot;Fehler beim Oeffnen der Datei&quot; &lt;&lt; endl;
            return -2;
        }
        for( person p; datei &gt;&gt; p; datei &gt;&gt; skipline )
            personen.push_back( p );
    }
    cout &lt;&lt; personen.size() &lt;&lt; &quot; Eintraege gelesen&quot; &lt;&lt; endl;
    // mache was mit 'personen'
    cin.get();
    return 0;
}
</code></pre>
<p>Oops - jetzt hat SeppJ auch schon geantwortet ..</p>
<p>Gruß<br />
Werner</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2186836</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2186836</guid><dc:creator><![CDATA[Werner Salomon]]></dc:creator><pubDate>Tue, 28 Feb 2012 22:56:20 GMT</pubDate></item><item><title><![CDATA[Reply to fehler mit strcpy beim Auslesen aus txt Dateien on Wed, 29 Feb 2012 11:27:06 GMT]]></title><description><![CDATA[<p>Hallo Seppj und Werner,<br />
recht herzlichen Dank für die kompetente Hilfe! So sieht das natürlich auch schon viel übersichtlicher aus. Ich möchte im weiteren Verlauf des Programmes unter der Verwendung einer zweiten Textdatei bestimmte Verhältnisse zwischen den Personen in der Liste anzeigen lassen können. Da werde ich sicherlich nochmal die ein oder andere spezifische Frage hier äußern.<br />
Grüße<br />
Stockhausen</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2186944</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2186944</guid><dc:creator><![CDATA[Stockhausen]]></dc:creator><pubDate>Wed, 29 Feb 2012 11:27:06 GMT</pubDate></item><item><title><![CDATA[Reply to fehler mit strcpy beim Auslesen aus txt Dateien on Fri, 02 Mar 2012 16:37:58 GMT]]></title><description><![CDATA[<p>Hallo zusammen,<br />
ich habe mal wieder etwas weiter gebastelt und stoße wieder mal auf Probleme. Auch wenn eure Lösungen natürlich wesentlich schicker sind als meine, habe ich basierend auf meinem Code weitergebastelt. Aber auch nun bekomme ich keine Ausgabe, obwohl der Compiler mir keinen Syntaxfehler angibt. Sieht jemand von euch das Problem?<br />
Ich wäre schon voll auf zufrieden, wenn das Programm einfach laufen würde. Ich weiß, dass ihr wesentlich elegantere Lösung parat haben werdet, aber diese bringen mir nichts, wenn ich meinen eigenen Code noch nocht mal verstehe. <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>
<pre><code class="language-cpp">#include &lt;iostream&gt;
using namespace std;
#include &lt;string.h&gt;

#include &lt;stdlib.h&gt;
#include &lt;fstream&gt;

struct personen
   {
   struct personen *naechster;
   char name[64];
   int ordnungsnummer;
   char identifikation[64];
   } ;
enum zustand {imON,imNamen,imID};

struct personen *ladedaten(ifstream &amp;datei);
struct personen *ladeperson(ifstream &amp;datei);

int main()
{
struct personen *wurzel=NULL;

ifstream datei;

datei.open(&quot;personen.txt&quot;);

wurzel=ladedaten(datei);

while(wurzel!=NULL)
     {
         cout &lt;&lt; wurzel-&gt;name &lt;&lt; &quot; besitzt die  &quot; &lt;&lt; wurzel-&gt;ordnungsnummer &lt;&lt; &quot;mit der Identifikation &quot; &lt;&lt; wurzel-&gt;identifikation
          &lt;&lt; &quot;.&quot; &lt;&lt; endl;
     wurzel=wurzel-&gt;naechster;
     }
}

struct personen *ladedaten(
ifstream                   &amp;datei)
{
struct personen *wurzel=NULL, *jetzt, *neu;

while(!datei.eof())
     {
     neu=ladeperson(datei);
     if (neu!=NULL)
        {
        if (wurzel==NULL) wurzel=neu;
        else jetzt-&gt;naechster=neu;
        jetzt=neu;
        }
     }

return wurzel;
}

struct personen *ladeperson(
ifstream                    &amp;datei)
{
struct personen *fest;
char puffer[100],zeichen;
int zaehler;
enum zustand zustand;

fest=new struct personen;
fest-&gt;naechster=NULL;

zustand=imON;
zaehler=0;
for (;;)
    {
    datei.get(zeichen);
    if (datei.eof()) break;
    switch(zeichen)
       {
    case '&quot;':
       puffer[zaehler]='\0';
       zaehler=0;
       fest-&gt;ordnungsnummer=atoi(puffer);
       zustand=imNamen;
       break;
    case '(':
       if (zustand!=imON)
          {
          puffer[zaehler]='\0';
          zaehler=0;
          strcpy(fest-&gt;name,puffer);
          zustand=imID;
          }
       break;
    case ')':
       if (zustand!=imON)
          {
          puffer[zaehler]='\0';
          zaehler=0;
          strcpy(fest-&gt;identifikation,puffer);
          }
       puffer[zaehler]='\0';
       zaehler=0;
       break;
    default:
       puffer[zaehler]=zeichen;
       zaehler++;
       break;
       }
    }
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2187786</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2187786</guid><dc:creator><![CDATA[Stockhausen]]></dc:creator><pubDate>Fri, 02 Mar 2012 16:37:58 GMT</pubDate></item><item><title><![CDATA[Reply to fehler mit strcpy beim Auslesen aus txt Dateien on Fri, 02 Mar 2012 17:07:06 GMT]]></title><description><![CDATA[<p>Warum benutzt du immer noch char-Arrays? Warum bastelst du selber eine Liste? Warum benutzt du C-Funktionen, deren Erfolg/Misserfolg man nicht in allen Fällen prüfen kann? Wieso versuchst du noch nicht einmal, dies zu prüfen? Wieso hast du dir nicht ein einziges der vielen Konzepte die dir gezeigt wurden mal angeguckt? Wieso hast du keinen einzigen der Tipps die dir gegeben wurden umgesetzt? Wieso hast du keinen einzigen der vielen Hinweise auf Fehler in deinem Programm befolgt? Wieso fügst du stattdessen noch Pointergefrickel als zusätzliche Fehlerquelle ein? Wieso nullst du sinnlos deine Zeiger und vertuscht so mögliche Fehler? Wieso nullst du deine Zeiger mit NULL, statt mit 0 oder nullptr? Wieso gibt es in deinem Programm zwar news, aber keine deletes? Wieso benutzt du keine Objekte, die sich selber verwalten (RAII)?</p>
<p>Irgendwie bist du selber Schuld, wenn das nicht läuft.</p>
<p>Ach ja: Dein ladeperson hat kein return, obwohl es einen Rückgabewert ungleich void hat. Das hätte dir <strong>dein</strong> Compiler auch gesagt, würdest du mal Warnungen anschalten.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2187794</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2187794</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Fri, 02 Mar 2012 17:07:06 GMT</pubDate></item><item><title><![CDATA[Reply to fehler mit strcpy beim Auslesen aus txt Dateien on Fri, 02 Mar 2012 17:33:31 GMT]]></title><description><![CDATA[<p>Atme mal in eine Tüte... Wieso so gehässig? Es sind nicht alle Menschen auf der Welt so gewandt beim Programmieren, daher verwende ich eure Angaben nicht, weil ich Anfänger bin und eure Codes nicht verstehe und es gerne schrittweise erlernen möchte, aber dabei wohl lieber in Zukunft auf dieses Forum hier verzichten werde.<br />
Mein Compiler gibt zu diesem Code keine Fehlermeldung aus, die ich sonst sehr gerne beherzigt hätte, aber der große SeppJ kann ja in die Zukunft sehen.<br />
Ein einfacher Hinweis zu dem Fehler hätte es auch getan. <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>
]]></description><link>https://www.c-plusplus.net/forum/post/2187807</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2187807</guid><dc:creator><![CDATA[Stockhausen]]></dc:creator><pubDate>Fri, 02 Mar 2012 17:33:31 GMT</pubDate></item><item><title><![CDATA[Reply to fehler mit strcpy beim Auslesen aus txt Dateien on Fri, 02 Mar 2012 17:53:10 GMT]]></title><description><![CDATA[<p>Stockhausen schrieb:</p>
<blockquote>
<p>Atme mal in eine Tüte... Wieso so gehässig?</p>
</blockquote>
<p>Weil das Problem eindeutig selbstgemacht ist. Und du weißt es besser, denn es wurde dir gleich mehrfach erklärt. Es muss ja nicht gleich alles überarbeitet werden, aber da wurde keine einzige Zeile korrigiert, sondern stattdessen noch mehr und noch größere Fehlerquellen hinzugefügt.</p>
<p>Stockhausen schrieb:</p>
<blockquote>
<p>Atme mal in eine Tüte... Wieso so gehässig?</p>
</blockquote>
<p>Weil viele Leute viel Arbeit investiert haben, um dir zu helfen und <strong>absolut nichts</strong> davon angekommen ist.</p>
<blockquote>
<p>Mein Compiler gibt zu diesem Code keine Fehlermeldung aus, die ich sonst sehr gerne beherzigt hätte, aber der große SeppJ kann ja in die Zukunft sehen.</p>
</blockquote>
<p>Deshalb auch der Hinweis, dass du die Warnungen einschalten sollst.</p>
<blockquote>
<p>Ein einfacher Hinweis zu dem Fehler hätte es auch getan</p>
</blockquote>
<p>Dein ganzes Programm ist so programmiert, das wird noch viele viele weitere Fehler erzeugen. Ich und alle anderen haben dir erklärt, wieso.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2187812</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2187812</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Fri, 02 Mar 2012 17:53:10 GMT</pubDate></item><item><title><![CDATA[Reply to fehler mit strcpy beim Auslesen aus txt Dateien on Fri, 02 Mar 2012 18:53:01 GMT]]></title><description><![CDATA[<p>Ich habe mich mehrfach dafür bedankt, dass &quot;viele Leute&quot; - also Werner und Du zzgl. einige Tipps der weiteren User, mir ein ganz anderes Konzept dargelegt haben. Leider kann ich damit noch nichts anfangen, weil ich - wie ich bereits erwähnt habe - Anfänger bin. Dann tut es mir leid, da ihr viel Arbeit investiert habt. Wenn ich Klavier spielen lerne, versuche ich mich auch nicht an dem Presto Satz aus der Beethoven-Mondscheinsonate. Videonauth, ist derjenige der mich auf den Fehler hingewiesen hat, dass das Array nicht richtig definiert ist, das hilft mir weiter. Dieser Code ist nur als Lernschritt gedacht und da muss man eben Fehler machen. Ist mir schon klar, dass ist damit nicht die Computerlinguistik revolutioniere, aber ich hatte gehofft bei freundlichem spezifischen Fragen Unterstützung zu bekommen.<br />
Ich kann es total verstehen, wenn ihr Geeks genervt seid und Leute hier ohne Eigeninitiative Komplettlösungen verlangen. Ich versuche mich da selbst durchzuarbeiten und der ein oder andere Hinweis hilft dann. Im Laufe der Zeit erreiche ich dann auch den Skill um eure wesentlich eleganteren Methoden, die genannt worden sind, anwenden zu können. <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>
]]></description><link>https://www.c-plusplus.net/forum/post/2187828</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2187828</guid><dc:creator><![CDATA[Stockhausen]]></dc:creator><pubDate>Fri, 02 Mar 2012 18:53:01 GMT</pubDate></item><item><title><![CDATA[Reply to fehler mit strcpy beim Auslesen aus txt Dateien on Fri, 02 Mar 2012 19:46:50 GMT]]></title><description><![CDATA[<p>SeppJ vs Stockhausen aka der Jüngling im Feuerofen:<br />
<a href="http://www.youtube.com/watch?v=3XfeWp2y1Lk" rel="nofollow">http://www.youtube.com/watch?v=3XfeWp2y1Lk</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2187840</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2187840</guid><dc:creator><![CDATA[EOP]]></dc:creator><pubDate>Fri, 02 Mar 2012 19:46:50 GMT</pubDate></item><item><title><![CDATA[Reply to fehler mit strcpy beim Auslesen aus txt Dateien on Fri, 02 Mar 2012 21:10:29 GMT]]></title><description><![CDATA[<p>Vergleich (wegen der &quot;Einfachheit&quot;)<br />
<strong>Char arrays (das was du benutzt) vs std::string</strong><br />
char arrays: (kopieren)</p>
<pre><code class="language-cpp">char a[100] = &quot;Test&quot;; // Dazu die Gefahr das dieser Buffer zu klein ist.
char b[100];
strcpy(b, a);
</code></pre>
<p>std::string: (kopieren)</p>
<pre><code class="language-cpp">std::string text = &quot;Test&quot;;
std::string text2 = text; //Einfach =, std::string kümmert sich automatisch um die richtige Größe des Buffers und erweitert diesen auch bei Bedarf.
</code></pre>
<p><strong>Handgemachte Liste vs std::vector</strong><br />
Mit Handgemachter Liste</p>
<pre><code class="language-cpp">struct personen {
    struct personen *naechster;
    char name[64];
    int ordnungsnummer;
    char identifikation[64];
} ;

personen * p = new personen; // Du musst dich um die Freigabe kümmern.
p-&gt;naechster = new personen; // Einfügen, auch dieser Speicher muss Freigegeben werden.
p-&gt;naechster-&gt;naechster = NULL;
</code></pre>
<p>Mit std::vector (und std::string)</p>
<pre><code class="language-cpp">struct Person {
    std::string name;
    int ordnungsnummer;
    std::string id;
};

std::vector&lt;Person&gt; p;
Person neu; // Dieses Objekt wurde nicht mit new angelegt, sondern wurde direkt auf dem Stack erstellt. Das ist a) schneller und b) brauchst du dich nicht um die Freigabe kümmern.
neu.name = &quot;Hello&quot;;
neu.ordnungsnummer = 1;
neu.id = 3;
p.push_back(neu); // Einfügen
p.push_back(neu); // Und gleich nochmal. std::vector kümmert sich automatisch um die richtige Größe des Buffers
</code></pre>
<p>Was ist davon nun einfacher? Die handgemachten Sachen, oder die ganzen Hilfsmittel, die dir viel Arbeit abnehmen? Willst du wirklich darauf verzichten?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2187858</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2187858</guid><dc:creator><![CDATA[pyhax]]></dc:creator><pubDate>Fri, 02 Mar 2012 21:10:29 GMT</pubDate></item><item><title><![CDATA[Reply to fehler mit strcpy beim Auslesen aus txt Dateien on Fri, 02 Mar 2012 22:12:16 GMT]]></title><description><![CDATA[<p>Stockhausen schrieb:</p>
<blockquote>
<p>Wenn ich Klavier spielen lerne, versuche ich mich auch nicht an dem Presto Satz aus der Beethoven-Mondscheinsonate.</p>
</blockquote>
<p>Und da liegt das Problem: Du baust dir gerade ein Klavier...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2187865</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2187865</guid><dc:creator><![CDATA[arghonaut]]></dc:creator><pubDate>Fri, 02 Mar 2012 22:12:16 GMT</pubDate></item><item><title><![CDATA[Reply to fehler mit strcpy beim Auslesen aus txt Dateien on Sat, 03 Mar 2012 15:58:56 GMT]]></title><description><![CDATA[<p>Hallo Stockhausen,</p>
<p>ich kann den Frust von SeppJ verstehen, mir geht es ja ähnlich, obwohl ich solche Situationen inzwischen mehr mit einem lachenden denn mit einem weinenden Auge hinnehme. Ich akzeptiere aber auch Deinen Wunsch wissen zu wollen, warum Dein Programm nicht funktioniert.</p>
<p>Ganz vordergründig geht es in der Funktion ladeperson schief, weil Du hier ohne Zustandskontrolle (Variable zustand) auf ein '&quot;' reagierst, welches aber pro Zeile mehr als einmal vorkommt.<br />
Ein einfacher Hack dieses Fehlers (Fehlerbehebung wäre vermessen) besteht darin, hinter der Zeile 97 noch folgendes einzufügen:</p>
<pre><code class="language-cpp">strcpy(fest-&gt;identifikation,puffer); // Zeile 97
                datei.ignore( 9999 /*maximal so viel Zeichen*/, '\n' ); // &lt;-- neu
                return fest; // &lt;-- neu
</code></pre>
<p>da identifikation, der letzte Member ist, der gelesen ist, so wird anschließend einfach der Rest der Zeile ignoriert, und dann die Funktion verlassen. Mit der Datei, die Du hier gepostete hast, funktioniert das dann.</p>
<p>Zeile 97 ist übrigens eine sehr interessante Stelle. Genau hier wäre es nämlich möglich, mit einer wohl präperierten Datei 'personen.txt' den PC zu kapern, auf dem dieses Programm läuft. Wenn die Benutzerrechte reichen, kann ein eingeschleustes Programm hier alles machen, was ein Programm auf einem PC machen kann - vom Versenden von tausenden von SPAM-Mails mit Deinem Account als Absender bis zum Formatieren der Festplatte.</p>
<p>arghonaut schrieb:</p>
<blockquote>
<p>Stockhausen schrieb:</p>
<blockquote>
<p>Wenn ich Klavier spielen lerne, versuche ich mich auch nicht an dem Presto Satz aus der Beethoven-Mondscheinsonate.</p>
</blockquote>
<p>Und da liegt das Problem: Du baust dir gerade ein Klavier...</p>
</blockquote>
<p>das war auch mein Gedanken, bevor ich die Beiträge dazu gelesen habe!</p>
<p>Stockhausen- es ist Dir sicher nicht bewusst - aber Du versuchst tatsächlich, Dir die Funktionen zusammen zu bauen, die es schon gibt und mit denen Du spielen kannst, wenn man es denn kann.</p>
<p>Vielleicht ein Anfang: Gebe den Membern name und identifikation den Typ std::string. Du benötigst dann noch ein #include &lt;string&gt;. person wird dann zu</p>
<pre><code class="language-cpp">struct personen
{
    struct personen *naechster;
    std::string name;
    int ordnungsnummer;
    std::string identifikation;
} ;
</code></pre>
<p>Anschließend musst Du die Zeilen 88 und 97 anpassen:</p>
<pre><code class="language-cpp">fest-&gt;name = puffer; // vorher: strcpy(fest-&gt;name,puffer);
....
                fest-&gt;identifikation = puffer; // vorher: strcpy(fest-&gt;identifikation,puffer);
</code></pre>
<p>Dann kannst Du auch auf das #include &lt;string.h&gt; verzichten.</p>
<p>Gruß<br />
Werner</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2188026</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2188026</guid><dc:creator><![CDATA[Werner Salomon]]></dc:creator><pubDate>Sat, 03 Mar 2012 15:58:56 GMT</pubDate></item><item><title><![CDATA[Reply to fehler mit strcpy beim Auslesen aus txt Dateien on Tue, 06 Mar 2012 15:30:32 GMT]]></title><description><![CDATA[<p>Hey,<br />
danke für die weiteren Vorschläge! Ich werde mich damit näher befassen, doch im Moment komme ich noch nicht dazu.<br />
grüße<br />
Stockhausen</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2189136</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2189136</guid><dc:creator><![CDATA[Stockhausen]]></dc:creator><pubDate>Tue, 06 Mar 2012 15:30:32 GMT</pubDate></item><item><title><![CDATA[Reply to fehler mit strcpy beim Auslesen aus txt Dateien on Sat, 18 Apr 2015 09:50:58 GMT]]></title><description><![CDATA[<p>Hallo Zusammen,</p>
<p>ich habe mich auch mal an der Aufgabe versucht, doch leider funktioniert sie noch nicht ganz. Ich habe mich darum bemüht, die Ratschläge zu befolgen, aber ich bin auch nur eine Anfängerin...<br />
Mir ist zwar bewusst, dass der Beitrag schon was länger her ist, aber ich dachte, ich versuche mal mein Glück <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>
<pre><code>#include &lt;iostream&gt;
using namespace std;
#include &lt;string&gt;

#include &lt;stdlib.h&gt;
#include &lt;fstream&gt;

struct personen
{
    struct personen *naechster;
    std::string name;
    int ordnungsnummer;
    std::string identifikation;
} ;
enum zustand {imON,imNamen,imID};

struct personen *ladedaten(ifstream &amp;datei);
struct personen *ladeperson(ifstream &amp;datei);

int main()
{
struct personen *wurzel=NULL;

ifstream datei;

datei.open(&quot;personen.txt&quot;);

wurzel=ladedaten(datei);

while(wurzel!=NULL)
     {
         cout &lt;&lt; wurzel-&gt;name &lt;&lt; &quot; besitzt die  &quot; &lt;&lt; wurzel-&gt;ordnungsnummer &lt;&lt; &quot;mit der Identifikation &quot; &lt;&lt; wurzel-&gt;identifikation
          &lt;&lt; &quot;.&quot; &lt;&lt; endl;
     wurzel=wurzel-&gt;naechster;
     }
}

struct personen *ladedaten(
ifstream                   &amp;datei)
{
struct personen *wurzel=NULL, *jetzt, *neu;

while(!datei.eof())
     {
     neu=ladeperson(datei);
     if (neu!=NULL)
        {
        if (wurzel==NULL) wurzel=neu;
        else jetzt-&gt;naechster=neu;
        jetzt=neu;
        }
     }

return wurzel;
}

struct personen *ladeperson(
ifstream                    &amp;datei)
{
struct personen *fest;
char puffer[100],zeichen;
int zaehler;
enum zustand zustand;

fest=new struct personen;
fest-&gt;naechster=NULL;

zustand=imON;
zaehler=0;
for (;;)
    {
    datei.get(zeichen);
    if (datei.eof()) break;
    switch(zeichen)
       {
    case '&quot;':
       puffer[zaehler]='\0';
       zaehler=0;
       fest-&gt;ordnungsnummer=atoi(puffer);
       zustand=imNamen;
       break;
    case '(':
       if (zustand!=imON)
          {
          puffer[zaehler]='\0';
          zaehler=0;
          fest-&gt;name = puffer;
          zustand=imID;
          }
       break;
    case ')':
       if (zustand!=imON)
          {
          puffer[zaehler]='\0';
          zaehler=0;
          fest-&gt;identifikation=puffer;
          }
       puffer[zaehler]='\0';
       zaehler=0;
       break;
    default:
       puffer[zaehler]=zeichen;
       zaehler++;
       break;
       }
    }
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2450746</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2450746</guid><dc:creator><![CDATA[C.plusplus 0]]></dc:creator><pubDate>Sat, 18 Apr 2015 09:50:58 GMT</pubDate></item><item><title><![CDATA[Reply to fehler mit strcpy beim Auslesen aus txt Dateien on Sat, 18 Apr 2015 10:06:58 GMT]]></title><description><![CDATA[<p>&quot;funktioniert nicht so ganz&quot; ist keine brauchbare Fehlerbeschreibung.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2450749</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2450749</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Sat, 18 Apr 2015 10:06:58 GMT</pubDate></item><item><title><![CDATA[Reply to fehler mit strcpy beim Auslesen aus txt Dateien on Sat, 18 Apr 2015 10:39:04 GMT]]></title><description><![CDATA[<p><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 />
Die Fehlermeldung lautet: &quot;no return statement in function returning non-void&quot;<br />
Das Programm wird zwar durchlaufen, allerdings wird nichts ausgegeben.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2450752</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2450752</guid><dc:creator><![CDATA[C.plusplus 0]]></dc:creator><pubDate>Sat, 18 Apr 2015 10:39:04 GMT</pubDate></item><item><title><![CDATA[Reply to fehler mit strcpy beim Auslesen aus txt Dateien on Sat, 18 Apr 2015 11:04:20 GMT]]></title><description><![CDATA[<p>... Hast du die Fehlermeldung mal VERSUCHT zu verstehen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2450753</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2450753</guid><dc:creator><![CDATA[EchtEy]]></dc:creator><pubDate>Sat, 18 Apr 2015 11:04:20 GMT</pubDate></item><item><title><![CDATA[Reply to fehler mit strcpy beim Auslesen aus txt Dateien on Sat, 18 Apr 2015 11:14:32 GMT]]></title><description><![CDATA[<p>Ich sehe gerade, dass ich das Ende vergessen habe.<br />
Müsste folgendes sein:</p>
<pre><code>struct beziehungen *sucheid(struct beziehungen *wurzel, char *bezeichnung)
    {
        while (wurzel != NULL)
        {
            if (!strcmp(wurzel-&gt;pate, bezeichnung)) return wurzel;
            wurzel = wurzel-&gt;naechster;
        }

        return NULL;
    }
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2450754</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2450754</guid><dc:creator><![CDATA[C.plusplus 0]]></dc:creator><pubDate>Sat, 18 Apr 2015 11:14:32 GMT</pubDate></item></channel></rss>