<?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[Datenzugriff auf externe Datei]]></title><description><![CDATA[<p>Hallo Leute,</p>
<p>ich bin noch Neuling auf dem Gebiet der c++ Sprache, daher kann es auch vorkommen, dass meine Fragen etwas banal wirken. Ich bitte daher um ein wenig Nachsicht.<br />
Nun zur eigentlichen Frage:<br />
Mein Programm soll seine Variablen aus einer externen Textdatei beziehen, in der Zahlen hinterlegt sind.<br />
Wie kann ich so einen Zugriff realisieren?</p>
<p>Danke im Voraus</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/124274/datenzugriff-auf-externe-datei</link><generator>RSS for Node</generator><lastBuildDate>Mon, 24 Aug 2026 04:29:47 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/124274.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 26 Oct 2005 08:18:05 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Datenzugriff auf externe Datei on Wed, 26 Oct 2005 08:18:05 GMT]]></title><description><![CDATA[<p>Hallo Leute,</p>
<p>ich bin noch Neuling auf dem Gebiet der c++ Sprache, daher kann es auch vorkommen, dass meine Fragen etwas banal wirken. Ich bitte daher um ein wenig Nachsicht.<br />
Nun zur eigentlichen Frage:<br />
Mein Programm soll seine Variablen aus einer externen Textdatei beziehen, in der Zahlen hinterlegt sind.<br />
Wie kann ich so einen Zugriff realisieren?</p>
<p>Danke im Voraus</p>
]]></description><link>https://www.c-plusplus.net/forum/post/900897</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/900897</guid><dc:creator><![CDATA[catachanfighter]]></dc:creator><pubDate>Wed, 26 Oct 2005 08:18:05 GMT</pubDate></item><item><title><![CDATA[Reply to Datenzugriff auf externe Datei on Wed, 26 Oct 2005 08:42:39 GMT]]></title><description><![CDATA[<p>Die einfachste Lösung ist die Verwendung von File-Streams:</p>
<pre><code class="language-cpp">#include &lt;fstream&gt;
#include &lt;vector&gt;
//#include &lt;iterator&gt;
using namespace std;

fstream data(&quot;mydata.txt&quot;);
vector&lt;int&gt; data_intern;

//Einlesen:
copy(istream_iterator&lt;int&gt;(data),istream_iterator&lt;int&gt;(),back_inserter(data_intern));

//Zugriff mittels data_intern[i];

//Zurückschreiben:
copy(data_intern.begin(),data_intern.end(),ostream_iterator&lt;int&gt;(data));
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/900910</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/900910</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Wed, 26 Oct 2005 08:42:39 GMT</pubDate></item><item><title><![CDATA[Reply to Datenzugriff auf externe Datei on Wed, 26 Oct 2005 08:55:17 GMT]]></title><description><![CDATA[<p>Danke für die schnelle Antwort!<br />
Könntest du bitte einem &quot;Dummie&quot; den Quelltext bitte etwas näher erläutern?</p>
<p>Ich hoffe jeder von euch weiss noch wie das war als er angefangen hat zu programmieren...man ist froh um jede Hilfe.<br />
Danke</p>
]]></description><link>https://www.c-plusplus.net/forum/post/900923</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/900923</guid><dc:creator><![CDATA[catachanfighter]]></dc:creator><pubDate>Wed, 26 Oct 2005 08:55:17 GMT</pubDate></item><item><title><![CDATA[Reply to Datenzugriff auf externe Datei on Wed, 26 Oct 2005 09:12:40 GMT]]></title><description><![CDATA[<p>fangen wir mit den Grundlagen an:<br />
* fstream dient zur Kommunikation mit anderen Dateien (der Konstruktor bekommt den Dateinamen und evt. die Zugriffsart - müßtest du notfalls ergänzen, falls das Programm so rumspinnt).<br />
* vector ist ein Container, in dem du sequentiell Daten ablegen kannst (edit: ähnlich einem Array, aber der kann seine Größe bei Bedarf anpassen).<br />
* Iteratoren sind eine Abstraktion von Pointern, um auf dem Inhalt von Containern und ähnlichen Konstrukten operieren zu können, ohne sich um die technischen Details zu kümmern (istream_iterator liest vom zugeordneten Stream, ostream_iterator schreibt auf den Stream, back_inserter schreibt ans Ende eines Containers).<br />
* copy() ist ein Algorithmus, der Daten von A nach B verschieben kann (die Parameter sind: Anfang von A, Ende von A und Anfang von B - jeweils als Iterator)</p>
<p>-&gt; Zusammengefasst:<br />
* der erste copy()-Aufruf liest deine übergebene Datei komplett ein und packt die Zahlen in den Vektor<br />
* der zweite copy()-Aufruf schreibt den Vektor sequentiell in die Datei</p>
<p>im Vektor kannst du mit data_intern[i] auf das i-te Element (von 0 beginnend) zugreifen, um es zu lesen oder zu verändern</p>
]]></description><link>https://www.c-plusplus.net/forum/post/900936</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/900936</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Wed, 26 Oct 2005 09:12:40 GMT</pubDate></item><item><title><![CDATA[Reply to Datenzugriff auf externe Datei on Thu, 27 Oct 2005 05:35:29 GMT]]></title><description><![CDATA[<p>Hallo,<br />
also ich hab das mal mit dem Quelltext von dir probiert, aber mein Compiler bringt mir lauter Fehler.<br />
Der Daten die mit dem Importieren geladen werden sollen alle an unterschiedliche int und floats zugeordnet werden.</p>
<p>Danke!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/901627</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/901627</guid><dc:creator><![CDATA[catachanfighter]]></dc:creator><pubDate>Thu, 27 Oct 2005 05:35:29 GMT</pubDate></item><item><title><![CDATA[Reply to Datenzugriff auf externe Datei on Thu, 27 Oct 2005 06:11:07 GMT]]></title><description><![CDATA[<p>Ah so, sag das doch gleich:</p>
<pre><code class="language-cpp">fstream data(&quot;mydata.txt&quot;);
data &gt;&gt; var1 &gt;&gt; var2 &gt;&gt; var3 ...;

//oder:
if(!(data&gt;&gt;var1)){cout &lt;&lt; &quot;var1 defekt&quot; &lt;&lt; endl; exit(1);}
if(!(data&gt;&gt;var2)){cout &lt;&lt; &quot;var2 defekt&quot; &lt;&lt; endl; exit(1);}
...
</code></pre>
<p>(der Operator &gt;&gt; sucht sich jeweils den nächsten Zahlenwert aus der Datei (und parst ihn gleich richtig nach int bzw. float je nach Typ der angegebenen Variable), in der zweiten Variante wird nach jeder Eingabe überprüft, ob die Daten in Ordnung waren (der if-Teil wird angesprungen, wenn z.B. zu wenig Daten vorlagen oder ein Buchstabe dazwischengerutscht ist).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/901631</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/901631</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Thu, 27 Oct 2005 06:11:07 GMT</pubDate></item><item><title><![CDATA[Reply to Datenzugriff auf externe Datei on Thu, 27 Oct 2005 06:26:10 GMT]]></title><description><![CDATA[<p>okay,</p>
<p>ich glaube das ist das was ich suche,<br />
aber wie weiss das programm welcher variable die zahl zugewiesen werden kann?<br />
muss ich im externen file die zahl dann so schreiben:<br />
a=5<br />
?<br />
oder kann ich auch nur<br />
5<br />
schreiben?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/901640</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/901640</guid><dc:creator><![CDATA[catachanfighter]]></dc:creator><pubDate>Thu, 27 Oct 2005 06:26:10 GMT</pubDate></item><item><title><![CDATA[Reply to Datenzugriff auf externe Datei on Thu, 27 Oct 2005 06:36:23 GMT]]></title><description><![CDATA[<p>Dazu legst du am besten die Reihenfolge fest, in der die Variablen gespeichert werden sollen (die Datei wird sequentiell gelesen). Die Variante &quot;a=5&quot; ist auch möglich, aber dann ist die Zuordnung zu den Variablen komplizierter.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/901649</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/901649</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Thu, 27 Oct 2005 06:36:23 GMT</pubDate></item><item><title><![CDATA[Reply to Datenzugriff auf externe Datei on Thu, 27 Oct 2005 06:38:39 GMT]]></title><description><![CDATA[<p>So sieht mein Code bisher aus (ist nur ein Test):</p>
<p>#include &lt;iostream.h&gt;<br />
#include &lt;fstream.h&gt;</p>
<p>fstream data(&quot;mydata.txt&quot;);<br />
int main()<br />
{<br />
int a, b, c;</p>
<p>data &gt;&gt; a &gt;&gt; b &gt;&gt; c ;</p>
<p>cout &lt;&lt; a;<br />
cout &lt;&lt; b;</p>
<p>cin &gt;&gt;c;</p>
<p>return 0;<br />
}</p>
<p>Der Compiler medet aber:</p>
<p>main.cpp(4) : error C2664: 'fstream::fstream(int)' : Konvertierung des Parameters 1 von 'char [11]' in 'int' nicht moeglich</p>
<p>und das mydata.txt file sieht so aus</p>
<p>50<br />
30<br />
120</p>
]]></description><link>https://www.c-plusplus.net/forum/post/901652</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/901652</guid><dc:creator><![CDATA[catachanfighter]]></dc:creator><pubDate>Thu, 27 Oct 2005 06:38:39 GMT</pubDate></item><item><title><![CDATA[Reply to Datenzugriff auf externe Datei on Thu, 27 Oct 2005 06:52:22 GMT]]></title><description><![CDATA[<p>catachanfighter schrieb:</p>
<blockquote>
<p>main.cpp(4) : error C2664: 'fstream::fstream(int)' : Konvertierung des Parameters 1 von 'char [11]' in 'int' nicht moeglich</p>
</blockquote>
<p>*grübelt* Ich wußte gar nicht, daß fstream einen int-Konstruktor hat.</p>
<p>*länger nachdenkt* setz' mal ein &quot;using namespace std;&quot; hinter die Includes (oder ein &quot;std::&quot; vor fstream).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/901660</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/901660</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Thu, 27 Oct 2005 06:52:22 GMT</pubDate></item><item><title><![CDATA[Reply to Datenzugriff auf externe Datei on Thu, 27 Oct 2005 07:00:32 GMT]]></title><description><![CDATA[<p>bzw. schau einfach in die <a href="http://www.c-plusplus.net/forum/viewtopic-var-t-is-39469.html" rel="nofollow">FAQ</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/901667</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/901667</guid><dc:creator><![CDATA[Braunstein]]></dc:creator><pubDate>Thu, 27 Oct 2005 07:00:32 GMT</pubDate></item><item><title><![CDATA[Reply to Datenzugriff auf externe Datei on Fri, 28 Oct 2005 08:06:28 GMT]]></title><description><![CDATA[<p>so leute,</p>
<p>ich hab nen neuen Versuch gestartet und der sieht wie folgt aus.</p>
<p>#include &lt;iostream.h&gt;<br />
#include &lt;fstream.h&gt;<br />
main ()<br />
{<br />
int x;<br />
char zeile[100];<br />
fstream variablen (&quot;mydata&quot;, ios::in);<br />
if (!variablen)<br />
{<br />
cout&lt;&lt; &quot;keine Datei vorhanden!&quot;;<br />
return 3;<br />
}<br />
else<br />
{<br />
variablen.getline(zeile, 1);<br />
cout &lt;&lt; zeile;<br />
cin &gt;&gt; x;<br />
}<br />
variablen.close();<br />
return 0;<br />
}</p>
<p>Leider greift er weder auf die Zeile im File zu, noch bringt er den Fehler, wenn die Datei gar nicht existiert.<br />
Was mache ich flasch?</p>
<p>Danke und Gruß</p>
]]></description><link>https://www.c-plusplus.net/forum/post/902484</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/902484</guid><dc:creator><![CDATA[catachanfighter]]></dc:creator><pubDate>Fri, 28 Oct 2005 08:06:28 GMT</pubDate></item><item><title><![CDATA[Reply to Datenzugriff auf externe Datei on Fri, 28 Oct 2005 08:12:25 GMT]]></title><description><![CDATA[<p>getline() erwartet als zweiten Parameter die Größe des Eingabpuffers - du liest also in der aktuellen Version nur ein Zeichen ein. Ansonsten scheint immer noch die namespace-Angabe zu fehlen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/902487</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/902487</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Fri, 28 Oct 2005 08:12:25 GMT</pubDate></item><item><title><![CDATA[Reply to Datenzugriff auf externe Datei on Fri, 28 Oct 2005 08:16:15 GMT]]></title><description><![CDATA[<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/10801">@catachanfighter</a><br />
Hast du dir den angegebenen Link zur FAQ wirklich durchgelesen? Da ist das alles erklärt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/902491</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/902491</guid><dc:creator><![CDATA[Braunstein]]></dc:creator><pubDate>Fri, 28 Oct 2005 08:16:15 GMT</pubDate></item><item><title><![CDATA[Reply to Datenzugriff auf externe Datei on Fri, 28 Oct 2005 08:31:40 GMT]]></title><description><![CDATA[<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/1387">@braunstein</a><br />
ich habe den Link durchgelesen.<br />
aber wie ich bereits oben erwähnt habe bin ich noch Anfänger in c++. Mir ist auch schon sehr oft aufgefallen, dass solche Arten von Lösungen (weiterleiten eines schon bestehenden Quelltextes) pädagogisch nicht besonders hochwertig sind. Das Problem liegt einfach darin, dass jeder Programmierer einen eigenen Stil hat seine Programme zu erstellen und auch die Handhabe der verschiedenen Funktionen variiert sehr. Damit tun sich sehr viele &quot;Newies&quot; schwer. Darum ist es doch oft sinnvoller dem Fragendem seinen Quelltext zu ergänzen oder zu korrigieren.<br />
Das FAQ beschreibt wie ich entweder Strings in einen Vektor einlade oder aus Binärdateien lese...hat irgendwie beides nichts mit meinem Problem zu tun. Natürlich kommt jetzt gleich wieder die Aussage, ich soll diese Beispiele auf mein Problem zuschneiden und abändern. Aber genau das hab ich doch gemacht und es funktioniert eben leider nicht. Darum meine erneute Anfrage.<br />
Des weiteren habe ich auch die in diesem Threat vorgeschlagenen Quelltexte verwendet aber wie bereits erwähnt brachte kein Beispiel überhaupt ein compilierbares Ergebnis mit sich.</p>
<p>Gruß</p>
]]></description><link>https://www.c-plusplus.net/forum/post/902500</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/902500</guid><dc:creator><![CDATA[catachanfighter]]></dc:creator><pubDate>Fri, 28 Oct 2005 08:31:40 GMT</pubDate></item><item><title><![CDATA[Reply to Datenzugriff auf externe Datei on Fri, 28 Oct 2005 09:30:19 GMT]]></title><description><![CDATA[<p>Du kannst alles was in der FAQ steht so auf dein Problem anwenden.<br />
Mal als Beispiel</p>
<pre><code class="language-cpp">#include &lt;iostream&gt; // ohne .h
#include &lt;ifstream&gt; //ohne .h
#include &lt;string&gt; // für string
using namespace std; //Namensraum std öffnen
int main ()  //Kosmetik
{
int x;
string zeile; // statt char zeile[100];
ifstream variablen (&quot;mydata&quot;); // bei ifstream kann ios::in entfallen
if (!variablen)
{
  cout&lt;&lt; &quot;keine Datei vorhanden!&quot;;
  return 3;
} else
{
  getline(variablen,zeile); // zeile einlesen
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/902566</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/902566</guid><dc:creator><![CDATA[Braunstein]]></dc:creator><pubDate>Fri, 28 Oct 2005 09:30:19 GMT</pubDate></item><item><title><![CDATA[Reply to Datenzugriff auf externe Datei on Fri, 28 Oct 2005 09:44:49 GMT]]></title><description><![CDATA[<p>Also ich hab den Quelltext genommen und zu mir ins programm kopiert.<br />
aber er beklagt sich (wie bei allen anderen Beispielen auch) über die Zeile</p>
<p>using namespace std; //Namensraum std öffnen</p>
<p>und zwar folgendermaßen</p>
<p>main.cpp(27) : error C2871: 'std' : Existiert nicht oder ist kein Namensraum</p>
<p>des weiteren gibt es noch fünf andere Errors die gemeldet werden.<br />
ergänzt wurde der quelltext nur um folgende zeilen</p>
<p>cout &lt;&lt; zeile;<br />
}<br />
return 0;<br />
}</p>
]]></description><link>https://www.c-plusplus.net/forum/post/902576</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/902576</guid><dc:creator><![CDATA[catachanfighter]]></dc:creator><pubDate>Fri, 28 Oct 2005 09:44:49 GMT</pubDate></item><item><title><![CDATA[Reply to Datenzugriff auf externe Datei on Sun, 30 Oct 2005 10:37:24 GMT]]></title><description><![CDATA[<p>hi catafighter,<br />
ich kann dich nur zu gut verstehen da ich selber noch in den grünen Stiefeln<br />
stehe (in bezug auf C++)<br />
Du willst also wissen wie man aus einer externen Textdatei einen Wert nimmt und den der Variable in deiner .cpp Datei zuweist.<br />
Ich könnte dir so auf anhieb nicht weiterhelfen - wegen den grünen Stiefel -<br />
aber wenn du mir deine eMail adresse gibst könnte ich dir ein sehr gutes Tutorial zu diesem Thema schicken.<br />
Ich habe das tut noch nicht ganz durchgearbeitet aber so wie das bis jetzt aussieht gibt es gerade in C++ eine sehr komfortable und einfache Lösung deines Problems.<br />
Der Autor macht es irgendwie einfach mit cin und cout.... aber wie gesagt ich habs noch nicht ganz durch und auch noch nicht verstanden.<br />
Aber wenn Interesse besteht- dann kein prob.</p>
<p>#include &lt; schöneGrüße &gt;</p>
]]></description><link>https://www.c-plusplus.net/forum/post/903738</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/903738</guid><dc:creator><![CDATA[socco]]></dc:creator><pubDate>Sun, 30 Oct 2005 10:37:24 GMT</pubDate></item><item><title><![CDATA[Reply to Datenzugriff auf externe Datei on Wed, 02 Nov 2005 18:46:51 GMT]]></title><description><![CDATA[<p>Hallo socco,</p>
<p>häng einfach an meinen nick ein @gmx.de</p>
<p>Danke vielmals!</p>
<p>Gruß</p>
]]></description><link>https://www.c-plusplus.net/forum/post/906722</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/906722</guid><dc:creator><![CDATA[catachanfighter]]></dc:creator><pubDate>Wed, 02 Nov 2005 18:46:51 GMT</pubDate></item><item><title><![CDATA[Reply to Datenzugriff auf externe Datei on Wed, 02 Nov 2005 21:20:24 GMT]]></title><description><![CDATA[<p>Und wenn es nicht mit getline funktionieren sollte, gibt es auch noch eine andere, nicht aber schönere Möglichkeit den Text auszulesen:</p>
<pre><code class="language-cpp">##pragma argsused
#include &lt;iostream&gt;
#include &lt;fstream&gt;
#include &lt;conio.h&gt;
using namespace std;

int main(int argc, char* argv[])
{
     string zeichen;
     ifstream DataRead (&quot;test.txt&quot;);
     if (!DataRead)
     {
          cout &lt;&lt; &quot;Keine Datei vorhanden!&quot;;
          return 0;
     }
     else
     {
          while (!DataRead.eof())  // Wenn das Dateiende nicht erreicht ist
          {
               zeichen = DataRead.get();     // Zeichenweise ein Zeichen in den
               cout &lt;&lt; zeichen;              // String schreiben
          }
      }
      DataRead.close();
      getch();
     return 0;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/906833</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/906833</guid><dc:creator><![CDATA[milo51]]></dc:creator><pubDate>Wed, 02 Nov 2005 21:20:24 GMT</pubDate></item><item><title><![CDATA[Reply to Datenzugriff auf externe Datei on Wed, 02 Nov 2005 23:02:27 GMT]]></title><description><![CDATA[<p>ich denke es liegt einfach daran das die Variable &quot;c&quot; ein integer (int) ist und eigentlich ein char sein sollte.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/906897</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/906897</guid><dc:creator><![CDATA[[[global:former_user]]]]></dc:creator><pubDate>Wed, 02 Nov 2005 23:02:27 GMT</pubDate></item></channel></rss>