<?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[Dateiinhalt in Array kopieren]]></title><description><![CDATA[<p>Hi,<br />
ich suche nach einer Fktn. mit der ich int-Werte die in einer Datei stehn in ein dynamisch erzeugtes Array speichern kann.<br />
<img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /><br />
Gruß steve</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/238921/dateiinhalt-in-array-kopieren</link><generator>RSS for Node</generator><lastBuildDate>Tue, 22 Sep 2026 17:22:32 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/238921.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 17 Apr 2009 09:57:20 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Dateiinhalt in Array kopieren on Fri, 17 Apr 2009 10:04:55 GMT]]></title><description><![CDATA[<p>Hi,<br />
ich suche nach einer Fktn. mit der ich int-Werte die in einer Datei stehn in ein dynamisch erzeugtes Array speichern kann.<br />
<img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /><br />
Gruß steve</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1697127</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1697127</guid><dc:creator><![CDATA[WINFO2105]]></dc:creator><pubDate>Fri, 17 Apr 2009 10:04:55 GMT</pubDate></item><item><title><![CDATA[Reply to Dateiinhalt in Array kopieren on Fri, 17 Apr 2009 10:04:37 GMT]]></title><description><![CDATA[<p>Tja dann schau mal bei Google mit den Stichworten &quot;C++ Datei lesen&quot;.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1697132</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1697132</guid><dc:creator><![CDATA[Firefighter]]></dc:creator><pubDate>Fri, 17 Apr 2009 10:04:37 GMT</pubDate></item><item><title><![CDATA[Reply to Dateiinhalt in Array kopieren on Fri, 17 Apr 2009 10:46:36 GMT]]></title><description><![CDATA[<p>Hab ich ja.<br />
Ich würde ja das getline() nehemen,aber das übergibt ja nur char-Werte.<br />
Brauche aber ja was, was int übergibt.<br />
gruß</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1697152</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1697152</guid><dc:creator><![CDATA[WINFO2105]]></dc:creator><pubDate>Fri, 17 Apr 2009 10:46:36 GMT</pubDate></item><item><title><![CDATA[Reply to Dateiinhalt in Array kopieren on Fri, 17 Apr 2009 10:58:58 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">std::ifstream reader(&quot;test.txt&quot;);
std::vector&lt;int&gt; data;
if(reader)
{
    std::copy
        ( std::istream_iterator&lt;int&gt;(reader)
        , std::istream_iterator&lt;int&gt;()
        , std::back_inserter(data));

}
</code></pre>
<p>Benötigte Header:</p>
<pre><code class="language-cpp">&lt;fstream&gt;
&lt;vector&gt;
&lt;algorithm&gt;
&lt;iterator&gt;
</code></pre>
<p>Um zu verstehen, was genau passiert, musst Du eine Suchmaschine Deiner Wahl bemühen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1697158</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1697158</guid><dc:creator><![CDATA[Tachyon]]></dc:creator><pubDate>Fri, 17 Apr 2009 10:58:58 GMT</pubDate></item><item><title><![CDATA[Reply to Dateiinhalt in Array kopieren on Fri, 17 Apr 2009 11:37:27 GMT]]></title><description><![CDATA[<p>Ich zähle zuerst die Zeilen in einer Datei.Dann erzeuge ich daraus ein dynamisches array(siehe code).Und dann will ich die werte die in der Datei stehn( 1 int-wert je zeile) im array speichern.<br />
Wollt eigentlich mein dynamisches array so erzeugen:</p>
<pre><code class="language-cpp">//erzeugen eines dynamischen arrays, wobei count die anzahl der Zeilen ist
int *feld = new int[count];
</code></pre>
<p>Hab das ja so probiert wie es &quot;Tachyon&quot; vorgeschlagen hat.<br />
Wollte dann die vector elemente mit data[0];data[1] etc. ansprechen aber da brach das prog während der laufzeit ab....</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1697180</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1697180</guid><dc:creator><![CDATA[WINFO2105]]></dc:creator><pubDate>Fri, 17 Apr 2009 11:37:27 GMT</pubDate></item><item><title><![CDATA[Reply to Dateiinhalt in Array kopieren on Fri, 17 Apr 2009 11:45:54 GMT]]></title><description><![CDATA[<p>WINFO2105 schrieb:</p>
<blockquote>
<p>Hab das ja so probiert wie es &quot;Tachyon&quot; vorgeschlagen hat.<br />
Wollte dann die vector elemente mit data[0];data[1] etc. ansprechen aber da brach das prog während der laufzeit ab....</p>
</blockquote>
<p>Dann war der Vektor wohl leer. Das bedeutet, dass irgendwas beim Einlesen schiefgegangen ist.<br />
So kannst Du prüfen, ob beim Einlesen alles gut geht:</p>
<pre><code class="language-cpp">//Exceptions &quot;aktivieren&quot;
reader.exceptions ( std::ifstream::eofbit | std::ifstream::failbit | std::ifstream::badbit );
//...
try
{
    std::copy(//...
}
catch(std::ifstream::failure &amp; e)
{
    std::cerr &lt;&lt; e.what() &lt;&lt; '\n';
}
//...
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1697188</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1697188</guid><dc:creator><![CDATA[Tachyon]]></dc:creator><pubDate>Fri, 17 Apr 2009 11:45:54 GMT</pubDate></item><item><title><![CDATA[Reply to Dateiinhalt in Array kopieren on Fri, 17 Apr 2009 11:48:53 GMT]]></title><description><![CDATA[<p>Werd ich gleich ma probieren.<br />
Würde es aber nicht auch gehen,wenn ich getline() nehme und die char-werte in int konvertiere?<br />
gruß</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1697191</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1697191</guid><dc:creator><![CDATA[WINFO2105]]></dc:creator><pubDate>Fri, 17 Apr 2009 11:48:53 GMT</pubDate></item><item><title><![CDATA[Reply to Dateiinhalt in Array kopieren on Fri, 17 Apr 2009 11:49:59 GMT]]></title><description><![CDATA[<p>WINFO2105 schrieb:</p>
<blockquote>
<p>Werd ich gleich ma probieren.<br />
Würde es aber nicht auch gehen,wenn ich getline() nehme und die char-werte in int konvertiere?<br />
gruß</p>
</blockquote>
<p>Warum solltest Du das tun? Der Stream wandelt die Werte ja schon automatisch für Dich nach int um.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1697193</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1697193</guid><dc:creator><![CDATA[Tachyon]]></dc:creator><pubDate>Fri, 17 Apr 2009 11:49:59 GMT</pubDate></item><item><title><![CDATA[Reply to Dateiinhalt in Array kopieren on Fri, 17 Apr 2009 11:56:16 GMT]]></title><description><![CDATA[<p>Na wenn ich das mit Vector und dem Stream mache ist mir das ja klar das es in Int umgewandelt wird.<br />
Aber wenn ich es mit diesem code erzeuge und dann mit getline() auslese und<br />
die werte mit ner FOR-Schleife in das array speichere?</p>
<pre><code class="language-cpp">int *feld=new int[count]; //count ist anzahl der zeilen in datei-&gt;größe des arrays
</code></pre>
<p>gruß steve</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1697199</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1697199</guid><dc:creator><![CDATA[WINFO2105]]></dc:creator><pubDate>Fri, 17 Apr 2009 11:56:16 GMT</pubDate></item><item><title><![CDATA[Reply to Dateiinhalt in Array kopieren on Fri, 17 Apr 2009 12:11:24 GMT]]></title><description><![CDATA[<p>WINFO2105 schrieb:</p>
<blockquote>
<p>Na wenn ich das mit Vector und dem Stream mache ist mir das ja klar das es in Int umgewandelt wird.<br />
Aber wenn ich es mit diesem code erzeuge und dann mit getline() auslese und<br />
die werte mit ner FOR-Schleife in das array speichere?</p>
<pre><code class="language-cpp">int *feld=new int[count]; //count ist anzahl der zeilen in datei-&gt;größe des arrays
</code></pre>
<p>gruß steve</p>
</blockquote>
<p>Und wie bekommst Du die Strings, die Dir getline liefert in Integer-Werte konvertiert?<br />
Da bräuchtest Du eine stringstream für, der genau das gleiche macht, wie der ifstream es schon selbst ganz direkt macht.<br />
Und weisst Du denn, was Du machen musst, um <code>count</code> auf den richtigen Wert zu setzen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1697205</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1697205</guid><dc:creator><![CDATA[Tachyon]]></dc:creator><pubDate>Fri, 17 Apr 2009 12:11:24 GMT</pubDate></item><item><title><![CDATA[Reply to Dateiinhalt in Array kopieren on Fri, 17 Apr 2009 12:10:58 GMT]]></title><description><![CDATA[<p>ach mist stimmt......<br />
stell jetzt ma dn kompletten code rewin damit man das mal nachvollziehen kann:</p>
<pre><code class="language-cpp">#include &quot;stdafx.h&quot;
#include &lt;fstream&gt;
#include &lt;iostream&gt;
#include &lt;string&gt;

using namespace System;
using namespace std;

int main(array&lt;System::String ^&gt; ^args)
{

ifstream quelle;
string quelldateiname;
cout &lt;&lt; &quot;Quelldatei?...(Kompletten Pfad angeben!!)&quot;&lt;&lt;endl;
cin &gt;&gt; quelldateiname;

quelle.open(quelldateiname.c_str(), ios::in);

if(!quelle)
	{
	cerr &lt;&lt; quelldateiname &lt;&lt; &quot;kann nicht geoeffnet werden!&quot; &lt;&lt;endl;
	exit(-1);
	}

cout &lt;&lt; &quot;Name der zu erstellenden Zieldatei?...&quot;&lt;&lt;endl;
string zieldateiname;
cin &gt;&gt; zieldateiname;
ofstream ziel(zieldateiname.c_str(),ios_base::out|ios_base::in|ios_base::app);

if(!ziel)
	{
	cerr &lt;&lt; zieldateiname &lt;&lt;&quot;kann nicht geoeffnet werden!&quot;&lt;&lt;endl;
	exit(-1);
	}

//Hilfsvariablen(zähler,hilfspuffer)
int count=0;
string text;
//while schleife die zeilen in datei zählt
while(getline(quelle,text))
	{

	 count++; 

	}

//erzeugen eines dynamischen arrays
int *feld = new int[count];

//füllen des arrays mit werten aus zeilen
for(int i =0; i&lt;=count ;i++)
	{
	feld[i] =     //!!! hier fehlts halt !!!
	}

cout &lt;&lt; &quot;Array mit der Groeße&quot;&lt;&lt;count&lt;&lt;&quot;wurde erstellt&quot;&lt;&lt;endl;
cout &lt;&lt; &quot;Array Daten:&quot;&lt;&lt;endl;
cout &lt;&lt; feld[0]&lt;&lt;endl;
cout &lt;&lt; feld[1]&lt;&lt;endl;
cout &lt;&lt; feld[2]&lt;&lt;endl;
cout &lt;&lt; feld[3]&lt;&lt;endl;
cout &lt;&lt; feld[4]&lt;&lt;endl;

quelle.close();
ziel.close();
}
</code></pre>
<p>Vielleicht ist das Verständnis jetzt besser....<br />
MFG</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1697207</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1697207</guid><dc:creator><![CDATA[WINFO2105]]></dc:creator><pubDate>Fri, 17 Apr 2009 12:10:58 GMT</pubDate></item><item><title><![CDATA[Reply to Dateiinhalt in Array kopieren on Fri, 17 Apr 2009 12:17:15 GMT]]></title><description><![CDATA[<p>Also ich würde kein ekliges dynamisches C-Array benutzen, wenn C++ <code>std::vector</code> anbietet. Du progammierst schließlich C++ und nicht C. Also solltest Du auch C++ benutzen.<br />
Zeile 37 bis 57 duch folgendes ersetzen:</p>
<pre><code class="language-cpp">std::vector&lt;int&gt; feld;
int value;
while(quelle &gt;&gt; value)
{
    feld.push_back(value);
}
</code></pre>
<p>Der Rest bleibt wie Du es hast.<br />
Ist doch viel einfacher als das ganze Getrödel mit count usw.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1697212</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1697212</guid><dc:creator><![CDATA[Tachyon]]></dc:creator><pubDate>Fri, 17 Apr 2009 12:17:15 GMT</pubDate></item><item><title><![CDATA[Reply to Dateiinhalt in Array kopieren on Fri, 17 Apr 2009 12:40:51 GMT]]></title><description><![CDATA[<p>Bombe......<br />
Funzt alles super.<br />
Kannte das mit dem Vector zwar aber wusste nicht so richtig wie ich es einsetzte <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="🙄"
    /><br />
Ist auf den ersten Blick auf jeden Fall besser als ein &quot;standard&quot; dynamisches Array zu erzeugen -&gt; Performance und Codeersparnis....<br />
Werd jetzt noch ein sortieralgorythmus reinbasteln, aber das sollte eigentlich ohne weitere gehen, da man die vector-elemente genau so wie array-elemente ansprechen kann...<br />
und zur not gibts ja das forum hier <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /><br />
MFG steve</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1697233</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1697233</guid><dc:creator><![CDATA[WINFO2105]]></dc:creator><pubDate>Fri, 17 Apr 2009 12:40:51 GMT</pubDate></item><item><title><![CDATA[Reply to Dateiinhalt in Array kopieren on Fri, 17 Apr 2009 12:44:05 GMT]]></title><description><![CDATA[<p>Wenn es dir nicht um den Lerneffekt, sondern die Anwendung effizienter Sortieralgorithmen geht, kannst du <a href="http://www.cplusplus.com/reference/algorithm/sort/" rel="nofollow">std::sort()</a> oder je nachdem auch <a href="http://www.cplusplus.com/reference/algorithm/stable_sort/" rel="nofollow">std::stable_sort()</a> benutzen.</p>
<pre><code class="language-cpp">std::vector&lt;int&gt; Vec; // füllen
std::sort(Vec.begin(), Vec.end());
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1697236</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1697236</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Fri, 17 Apr 2009 12:44:05 GMT</pubDate></item></channel></rss>