<?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[In Datei schreiben und auslesen]]></title><description><![CDATA[<p>Hi,</p>
<p>bin neu hier und blutiger Anfänger was C++ angeht. Aber ich benötige dringend Hilfe. Und zwar wäre ich Dankbar wenn mir eine schreiben könnte wie ich folgendes Script per fwrite, fread, fopen und fclose in eine Datei schreibe und wieder auslesen kann. Wäre gut wenn man die hinzugefügten Codes farbig darstellen könnte damit ich nachvollziehen kann was bei jedem Schritt passiert.</p>
<pre><code class="language-cpp">/* Selbstübung mit Strukturen und Funktionen */
/* Includes */
#include &lt;iostream&gt;
#include &lt;string.h&gt;

using namespace std;

/* Definition der Strukturen */
typedef struct {
        char land[30];
        char stadt[30];
        }t_herkunft;

typedef struct {
	char name[30];
	int baujahr;
	char model[15];
	int ps;
	t_herkunft pkw;
}t_auto;

typedef struct {
	char v_name[25];
	char n_name[30];
	t_auto car;
/* und weitere Komponenten */
}t_person;

void einfuegen(t_person *);
void ausgeben(t_person *, int);

/* Definition globaler Variablen */

int main()
{
int  schleife=1;
while (schleife!=0)
{
t_person person_auto[500];
int auswahl = 0;

     cout &lt;&lt; &quot;Bitte auswaehlen:&quot; &lt;&lt; endl &lt;&lt; &quot;Daten hinzufuegen , druecken sie 1&quot; &lt;&lt; endl &lt;&lt; &quot;Daten abrufen, druecken sie 2&quot; &lt;&lt; endl &lt;&lt;  &quot;Um das Programm zu beenden drueckste 3&quot; &lt;&lt; endl &lt;&lt; &quot;Und bestaetigen Sie mit Enter! &quot;;
     cin &gt;&gt; auswahl;
     switch(auswahl)
      {
      case 1:
           {
           einfuegen(person_auto);
           }
           break;
      case 2:
           {
           int zahl = 0;
           cout &lt;&lt; &quot;Welcher Datensatz soll ausgegeben werden?&quot; &lt;&lt; endl;
           cin &gt;&gt; zahl;
           ausgeben(person_auto, zahl);
           }
           break;
	  case 3:
           {
           schleife = 0;

           }
           break;   
      default:
              {
              cout &lt;&lt; &quot;Falsche Eingabe&quot;;
              }
              break;
      } 
}
return 0;
} /* end main*/

/* weitere Funktionen */
void einfuegen(t_person* person_auto)
{
     char dummy [5];
	 char land[30];
     char stadt[30];
     char name[30];
     int baujahr;
     char model[15];
     int ps;
     char v_name[25];
     char n_name[30];

     cin.getline (dummy, 4);
	 cout &lt;&lt; &quot;Bitte  Herkunftsland des Autos eingeben!&quot; &lt;&lt; endl;
     cin.getline(land, 30);
     cout &lt;&lt; &quot;Bitte Produktionsstadt des Autos eingeben!&quot; &lt;&lt; endl;
     cin.getline(stadt, 30);
     cout &lt;&lt; &quot;Bitte Hersteller des Autos eingeben!&quot; &lt;&lt; endl;
     cin.getline(name, 30);
     cout &lt;&lt; &quot;Geben Sie nun das Baujahr des Autos ein!&quot; &lt;&lt; endl;
     cin &gt;&gt; baujahr;
     cin.getline (dummy, 4);
     cout &lt;&lt; &quot;Welches Modell ?&quot; &lt;&lt; endl;
     cin.getline(model, 15);
     cout &lt;&lt; &quot;Nun das Wichtigste, die PS Zahl:&quot; &lt;&lt; endl;
     cin &gt;&gt; ps;
     cin.getline (dummy, 4);
     cout &lt;&lt; &quot;Ihr Vorname lautet:&quot; &lt;&lt; endl;
     cin.getline(v_name, 25);
     cout &lt;&lt; &quot;Zu guter letzt noch Ihr Nachname:&quot; &lt;&lt;endl;
     cin.getline(n_name, 30);

     for(int i = 0; i &lt; 500;i++)
     {
      if(i &lt; 500)
      {
        strcpy(person_auto[i].car.pkw.land,  land);
        strcpy(person_auto[i].car.pkw.stadt, stadt);
        strcpy(person_auto[i].car.name, name);
        person_auto[i].car.baujahr = baujahr;
        strcpy(person_auto[i].car.model, model);
        person_auto[i].car.ps = ps;
        strcpy(person_auto[i].v_name, v_name);
        strcpy(person_auto[i].n_name, n_name);
        i++;
      }
      else
      {
          cout &lt;&lt; &quot;Struktur ist voll!!!&quot;; 
      }        
     }
}

void ausgeben (t_person* person_auto, int zahl)
{

system(&quot;cls&quot;);
 cout &lt;&lt;&quot;Ihre Angaben&quot;&lt;&lt; endl;
 cout &lt;&lt;&quot;___________&quot;&lt;&lt; endl;
 cout &lt;&lt;endl&lt;&lt; endl;
 cout &lt;&lt;&quot;Herkunftsland: &quot; &lt;&lt;person_auto[zahl].car.pkw.land &lt;&lt; endl;
 cout &lt;&lt;&quot;Produktionsort: &quot; &lt;&lt;person_auto[zahl].car.pkw.stadt &lt;&lt; endl;
 cout &lt;&lt;&quot;Hersteller: &quot; &lt;&lt;person_auto[zahl].car.name &lt;&lt; endl;
 cout &lt;&lt;&quot;Baujahr: &quot; &lt;&lt;person_auto[zahl].car.baujahr &lt;&lt; endl;
 cout &lt;&lt;&quot;Modell: &quot; &lt;&lt;person_auto[zahl].car.model &lt;&lt; endl;
 cout &lt;&lt;&quot;Leistung: &quot; &lt;&lt;person_auto[zahl].car.ps &lt;&lt;&quot;PS&quot; &lt;&lt; endl;
 cout &lt;&lt;&quot;Vorname: &quot; &lt;&lt;person_auto[zahl].v_name &lt;&lt; endl;
 cout &lt;&lt;&quot;Nachname: &quot; &lt;&lt;person_auto[zahl].n_name &lt;&lt; endl;  
 cout &lt;&lt;endl&lt;&lt; endl;

}
</code></pre>
<p>Vielen Dank im Vorraus</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/226787/in-datei-schreiben-und-auslesen</link><generator>RSS for Node</generator><lastBuildDate>Wed, 30 Sep 2026 10:07:45 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/226787.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 05 Nov 2008 21:38:30 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to In Datei schreiben und auslesen on Wed, 05 Nov 2008 22:08:38 GMT]]></title><description><![CDATA[<p>Hi,</p>
<p>bin neu hier und blutiger Anfänger was C++ angeht. Aber ich benötige dringend Hilfe. Und zwar wäre ich Dankbar wenn mir eine schreiben könnte wie ich folgendes Script per fwrite, fread, fopen und fclose in eine Datei schreibe und wieder auslesen kann. Wäre gut wenn man die hinzugefügten Codes farbig darstellen könnte damit ich nachvollziehen kann was bei jedem Schritt passiert.</p>
<pre><code class="language-cpp">/* Selbstübung mit Strukturen und Funktionen */
/* Includes */
#include &lt;iostream&gt;
#include &lt;string.h&gt;

using namespace std;

/* Definition der Strukturen */
typedef struct {
        char land[30];
        char stadt[30];
        }t_herkunft;

typedef struct {
	char name[30];
	int baujahr;
	char model[15];
	int ps;
	t_herkunft pkw;
}t_auto;

typedef struct {
	char v_name[25];
	char n_name[30];
	t_auto car;
/* und weitere Komponenten */
}t_person;

void einfuegen(t_person *);
void ausgeben(t_person *, int);

/* Definition globaler Variablen */

int main()
{
int  schleife=1;
while (schleife!=0)
{
t_person person_auto[500];
int auswahl = 0;

     cout &lt;&lt; &quot;Bitte auswaehlen:&quot; &lt;&lt; endl &lt;&lt; &quot;Daten hinzufuegen , druecken sie 1&quot; &lt;&lt; endl &lt;&lt; &quot;Daten abrufen, druecken sie 2&quot; &lt;&lt; endl &lt;&lt;  &quot;Um das Programm zu beenden drueckste 3&quot; &lt;&lt; endl &lt;&lt; &quot;Und bestaetigen Sie mit Enter! &quot;;
     cin &gt;&gt; auswahl;
     switch(auswahl)
      {
      case 1:
           {
           einfuegen(person_auto);
           }
           break;
      case 2:
           {
           int zahl = 0;
           cout &lt;&lt; &quot;Welcher Datensatz soll ausgegeben werden?&quot; &lt;&lt; endl;
           cin &gt;&gt; zahl;
           ausgeben(person_auto, zahl);
           }
           break;
	  case 3:
           {
           schleife = 0;

           }
           break;   
      default:
              {
              cout &lt;&lt; &quot;Falsche Eingabe&quot;;
              }
              break;
      } 
}
return 0;
} /* end main*/

/* weitere Funktionen */
void einfuegen(t_person* person_auto)
{
     char dummy [5];
	 char land[30];
     char stadt[30];
     char name[30];
     int baujahr;
     char model[15];
     int ps;
     char v_name[25];
     char n_name[30];

     cin.getline (dummy, 4);
	 cout &lt;&lt; &quot;Bitte  Herkunftsland des Autos eingeben!&quot; &lt;&lt; endl;
     cin.getline(land, 30);
     cout &lt;&lt; &quot;Bitte Produktionsstadt des Autos eingeben!&quot; &lt;&lt; endl;
     cin.getline(stadt, 30);
     cout &lt;&lt; &quot;Bitte Hersteller des Autos eingeben!&quot; &lt;&lt; endl;
     cin.getline(name, 30);
     cout &lt;&lt; &quot;Geben Sie nun das Baujahr des Autos ein!&quot; &lt;&lt; endl;
     cin &gt;&gt; baujahr;
     cin.getline (dummy, 4);
     cout &lt;&lt; &quot;Welches Modell ?&quot; &lt;&lt; endl;
     cin.getline(model, 15);
     cout &lt;&lt; &quot;Nun das Wichtigste, die PS Zahl:&quot; &lt;&lt; endl;
     cin &gt;&gt; ps;
     cin.getline (dummy, 4);
     cout &lt;&lt; &quot;Ihr Vorname lautet:&quot; &lt;&lt; endl;
     cin.getline(v_name, 25);
     cout &lt;&lt; &quot;Zu guter letzt noch Ihr Nachname:&quot; &lt;&lt;endl;
     cin.getline(n_name, 30);

     for(int i = 0; i &lt; 500;i++)
     {
      if(i &lt; 500)
      {
        strcpy(person_auto[i].car.pkw.land,  land);
        strcpy(person_auto[i].car.pkw.stadt, stadt);
        strcpy(person_auto[i].car.name, name);
        person_auto[i].car.baujahr = baujahr;
        strcpy(person_auto[i].car.model, model);
        person_auto[i].car.ps = ps;
        strcpy(person_auto[i].v_name, v_name);
        strcpy(person_auto[i].n_name, n_name);
        i++;
      }
      else
      {
          cout &lt;&lt; &quot;Struktur ist voll!!!&quot;; 
      }        
     }
}

void ausgeben (t_person* person_auto, int zahl)
{

system(&quot;cls&quot;);
 cout &lt;&lt;&quot;Ihre Angaben&quot;&lt;&lt; endl;
 cout &lt;&lt;&quot;___________&quot;&lt;&lt; endl;
 cout &lt;&lt;endl&lt;&lt; endl;
 cout &lt;&lt;&quot;Herkunftsland: &quot; &lt;&lt;person_auto[zahl].car.pkw.land &lt;&lt; endl;
 cout &lt;&lt;&quot;Produktionsort: &quot; &lt;&lt;person_auto[zahl].car.pkw.stadt &lt;&lt; endl;
 cout &lt;&lt;&quot;Hersteller: &quot; &lt;&lt;person_auto[zahl].car.name &lt;&lt; endl;
 cout &lt;&lt;&quot;Baujahr: &quot; &lt;&lt;person_auto[zahl].car.baujahr &lt;&lt; endl;
 cout &lt;&lt;&quot;Modell: &quot; &lt;&lt;person_auto[zahl].car.model &lt;&lt; endl;
 cout &lt;&lt;&quot;Leistung: &quot; &lt;&lt;person_auto[zahl].car.ps &lt;&lt;&quot;PS&quot; &lt;&lt; endl;
 cout &lt;&lt;&quot;Vorname: &quot; &lt;&lt;person_auto[zahl].v_name &lt;&lt; endl;
 cout &lt;&lt;&quot;Nachname: &quot; &lt;&lt;person_auto[zahl].n_name &lt;&lt; endl;  
 cout &lt;&lt;endl&lt;&lt; endl;

}
</code></pre>
<p>Vielen Dank im Vorraus</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1610890</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1610890</guid><dc:creator><![CDATA[Jeek]]></dc:creator><pubDate>Wed, 05 Nov 2008 22:08:38 GMT</pubDate></item><item><title><![CDATA[Reply to In Datei schreiben und auslesen on Wed, 05 Nov 2008 21:49:11 GMT]]></title><description><![CDATA[<p>1. Hallo<br />
2. Bitte C/C++ statt den Code-Tags verwenden. Bessere Hervorhebung.<br />
3. Man schreibt voraus mit nur einem r <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="😉"
    /><br />
4. Womit du auch immer aktuell C++ lernst, schmeiss es auf der Stelle weg.<br />
Ausser <code>std::cin</code> und <code>std::cout</code> ist in diesem Code ALLES C! Von C++ ist so gut wie keine Spur zu sehen ...<br />
<code>fwrite</code> , <code>fread</code> , <code>fopen</code> und <code>fclose</code> sind auch alles C Funktionen. Da wärst du im C Forum besser aufgehoben mit deiner Frage!</p>
<p>Falls du wirklich C++ lernen willst, dann empfiehlt man aktuell vor allem diese zwei Bücher:</p>
<ul>
<li>Thinking in C++ 1&amp;2 (Auch als gratis PDF verfügbar)</li>
<li>C++ Primer</li>
</ul>
<p>Grüssli</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1610893</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1610893</guid><dc:creator><![CDATA[Dravere]]></dc:creator><pubDate>Wed, 05 Nov 2008 21:49:11 GMT</pubDate></item><item><title><![CDATA[Reply to In Datei schreiben und auslesen on Wed, 05 Nov 2008 22:12:40 GMT]]></title><description><![CDATA[<p>Hi, danke für die Infos! Habe es im C Forum gepostet. Könnte somit hier gelöscht werden!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1610899</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1610899</guid><dc:creator><![CDATA[Jeek]]></dc:creator><pubDate>Wed, 05 Nov 2008 22:12:40 GMT</pubDate></item><item><title><![CDATA[Reply to In Datei schreiben und auslesen on Thu, 06 Nov 2008 09:20:21 GMT]]></title><description><![CDATA[<p>Also aufgrund der Anzahl der cout / cin würde ich sagen, dass der Code zu 80% C++ ist <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>auffällig C sind nur &quot;typedef&quot; und &quot;strcpy&quot;...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1611027</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1611027</guid><dc:creator><![CDATA[it0101@loggedoff]]></dc:creator><pubDate>Thu, 06 Nov 2008 09:20:21 GMT</pubDate></item><item><title><![CDATA[Reply to In Datei schreiben und auslesen on Thu, 06 Nov 2008 10:29:11 GMT]]></title><description><![CDATA[<p>it0101@loggedoff schrieb:</p>
<blockquote>
<p>auffällig C sind nur &quot;typedef&quot; und &quot;strcpy&quot;...</p>
</blockquote>
<p>... und char-arrays an Stelle von std::string, &lt;string.h&gt; statt &lt;cstring&gt; (oder eben &lt;string&gt;, structs und bearbeitende Funktionen statt Klassen mit Methoden, ein array von t_person statt eines std::vector, ...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1611077</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1611077</guid><dc:creator><![CDATA[pumuckl]]></dc:creator><pubDate>Thu, 06 Nov 2008 10:29:11 GMT</pubDate></item><item><title><![CDATA[Reply to In Datei schreiben und auslesen on Thu, 06 Nov 2008 20:44:27 GMT]]></title><description><![CDATA[<p>Ich dachte das C++ eine Multi-Paradgimensprache ist. Bedeutet das nicht, dass gerade der Vorteil darin liegt, dass man die verschiedenen Paradigmen miteinander mischen kann?</p>
<p>Gruß,<br />
Bitshift</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1611504</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1611504</guid><dc:creator><![CDATA[BitShift]]></dc:creator><pubDate>Thu, 06 Nov 2008 20:44:27 GMT</pubDate></item><item><title><![CDATA[Reply to In Datei schreiben und auslesen on Thu, 06 Nov 2008 21:15:42 GMT]]></title><description><![CDATA[<p>BitShift schrieb:</p>
<blockquote>
<p>Ich dachte das C++ eine Multi-Paradgimensprache ist. Bedeutet das nicht, dass gerade der Vorteil darin liegt, dass man die verschiedenen Paradigmen miteinander mischen kann?</p>
</blockquote>
<p>C++ ist eine Multi-Paradigmensprache ... ja<br />
Dies ist ein Vorteil ... ja<br />
Dies hat etwas mit diesem Thread zu tun ... nein</p>
<p>Also habe ich keine Ahnung, worauf du hinaus willst. In C++ verwendet man Filestreams und in C die entsprechenden f-Funktionen.</p>
<p>Grüssli</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1611518</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1611518</guid><dc:creator><![CDATA[Dravere]]></dc:creator><pubDate>Thu, 06 Nov 2008 21:15:42 GMT</pubDate></item><item><title><![CDATA[Reply to In Datei schreiben und auslesen on Fri, 07 Nov 2008 13:36:55 GMT]]></title><description><![CDATA[<p>BitShift schrieb:</p>
<blockquote>
<p>Ich dachte das C++ eine Multi-Paradgimensprache ist. Bedeutet das nicht, dass gerade der Vorteil darin liegt, dass man die verschiedenen Paradigmen miteinander mischen kann?</p>
</blockquote>
<p>Doch, natürlich. Du meinst hier wahrscheinlich prozedural und objektorientiert. Jedoch gibt es viele Dinge, die sich objektorientiert eleganter lösen lassen (Streams, Container, ...). Was solche Sachen betrifft, sollte man in C++ auch deren Möglichkeiten nutzen. Trotzdem besitzt C++ auch viele prozedurale Aspekte, denke man beispielsweise an globale Funktionen etc. Nur sind halt seit C viele rein prozedurale Ansätze durch objektorientierte oder gemischte vertrieben worden.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1611776</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1611776</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Fri, 07 Nov 2008 13:36:55 GMT</pubDate></item><item><title><![CDATA[Reply to In Datei schreiben und auslesen on Fri, 07 Nov 2008 13:52:57 GMT]]></title><description><![CDATA[<p>BitShift schrieb:</p>
<blockquote>
<p>Ich dachte das C++ eine Multi-Paradgimensprache ist. Bedeutet das nicht, dass gerade der Vorteil darin liegt, dass man die verschiedenen Paradigmen miteinander mischen kann?</p>
<p>Gruß,<br />
Bitshift</p>
</blockquote>
<p>Das ist nur dann ein Vorteil, wenn man erkennt, wann die Mischung der Paradigmen von Vorteil ist, und wann nicht.<br />
Ansonsten gilt: <strong>A fool with a tool is still a fool.</strong></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1611794</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1611794</guid><dc:creator><![CDATA[Tachyon]]></dc:creator><pubDate>Fri, 07 Nov 2008 13:52:57 GMT</pubDate></item></channel></rss>