<?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[Datei lesen und in array speichern]]></title><description><![CDATA[<p>Gutan Tag,</p>
<p>mein Problem sieht läßt sich so schildern:ahl</p>
<p>in einer Textdatei stehen Zahlen, getrennt durch eine unterschiedliche Anzahl von Leerzeichen und durch das Zeilenende an sich.</p>
<pre><code>20 55 66  843    45    998666   4       334   667    68       778
45454 44 2234234 233222
</code></pre>
<p>Nun möchte ich die Zahlen statt in einem string-Array zu speichern in einem integer array speichern.<br />
Dabei gibt die erste zahl (zahl im Feld 0 des buffers) die größe des zu erstellenden Int-Arrays( beispielsweise '20') an.</p>
<p>bisher:</p>
<p>- erste Zeile mit getline ausgelesen<br />
- leerzeichen entfernt<br />
- Zahlen wurden als Strings in ein Array gebuffert</p>
<p>im Feld 0 des buffers liegt als String die zahl ('20')</p>
<pre><code>buch.field[0]  // hier liegt die zahl 20
</code></pre>
<p>Wie gelingt es mir nun ein Array mit der Größe des Inhaltes von buch.field[0] zu erstellen?</p>
<p>Bisher habe ich folgendes versucht:</p>
<pre><code>int laenge = static_cast&lt;int&gt;(buch.field[0]); 
int iarray[laenge];
</code></pre>
<p>das ging zum einen schief da mit static_cast er Probleme hatte den string in einen Integer umzuwandeln. Und zum anderen die initialisierung des Arrays währed der Laufzeit.<br />
[/code]<br />
:xmas1:</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/200185/datei-lesen-und-in-array-speichern</link><generator>RSS for Node</generator><lastBuildDate>Sun, 04 Oct 2026 19:18:09 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/200185.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 11 Dec 2007 16:58:28 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Datei lesen und in array speichern on Tue, 11 Dec 2007 16:59:10 GMT]]></title><description><![CDATA[<p>Gutan Tag,</p>
<p>mein Problem sieht läßt sich so schildern:ahl</p>
<p>in einer Textdatei stehen Zahlen, getrennt durch eine unterschiedliche Anzahl von Leerzeichen und durch das Zeilenende an sich.</p>
<pre><code>20 55 66  843    45    998666   4       334   667    68       778
45454 44 2234234 233222
</code></pre>
<p>Nun möchte ich die Zahlen statt in einem string-Array zu speichern in einem integer array speichern.<br />
Dabei gibt die erste zahl (zahl im Feld 0 des buffers) die größe des zu erstellenden Int-Arrays( beispielsweise '20') an.</p>
<p>bisher:</p>
<p>- erste Zeile mit getline ausgelesen<br />
- leerzeichen entfernt<br />
- Zahlen wurden als Strings in ein Array gebuffert</p>
<p>im Feld 0 des buffers liegt als String die zahl ('20')</p>
<pre><code>buch.field[0]  // hier liegt die zahl 20
</code></pre>
<p>Wie gelingt es mir nun ein Array mit der Größe des Inhaltes von buch.field[0] zu erstellen?</p>
<p>Bisher habe ich folgendes versucht:</p>
<pre><code>int laenge = static_cast&lt;int&gt;(buch.field[0]); 
int iarray[laenge];
</code></pre>
<p>das ging zum einen schief da mit static_cast er Probleme hatte den string in einen Integer umzuwandeln. Und zum anderen die initialisierung des Arrays währed der Laufzeit.<br />
[/code]<br />
:xmas1:</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1418889</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1418889</guid><dc:creator><![CDATA[MarcR]]></dc:creator><pubDate>Tue, 11 Dec 2007 16:59:10 GMT</pubDate></item><item><title><![CDATA[Reply to Datei lesen und in array speichern on Tue, 11 Dec 2007 17:05:44 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>Schau mal in die FAQ.<br />
String in Zahl umwandeln<br />
<a href="http://www.c-plusplus.net/forum/viewtopic-var-t-is-39488.html" rel="nofollow">http://www.c-plusplus.net/forum/viewtopic-var-t-is-39488.html</a><br />
Das darauffolgende Array mußt du dynamisch erstellen</p>
<pre><code class="language-cpp">int* iarray = new int[laenge];
// delete[] nicht vergessen
</code></pre>
<p>Besser ist es du nimmst gleich std::vector (siehe Magazin).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1418892</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1418892</guid><dc:creator><![CDATA[Braunstein]]></dc:creator><pubDate>Tue, 11 Dec 2007 17:05:44 GMT</pubDate></item><item><title><![CDATA[Reply to Datei lesen und in array speichern on Tue, 11 Dec 2007 18:48:34 GMT]]></title><description><![CDATA[<p>hmm am einfachsten so:</p>
<pre><code class="language-cpp">std::ifstream file_stream(&quot;data.dat&quot;);
if (!file_stream) throw std::runtime_error(&quot;could not open file!&quot;);
std::size_t data_count(0);
if (!(file_stream &gt;&gt; data_count)) throw std::runtime_error(&quot;invalid file&quot;);
std::vector&lt;int&gt; vec_data(data_count);
std::copy(std::istream_iterator&lt;int&gt;(file_stream), std::istream_iterator&lt;int&gt;(), vec_data.begin());
</code></pre>
<p>... in vec_data sollte danach stehen, was du haben willst.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1418965</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1418965</guid><dc:creator><![CDATA[*D*Evil]]></dc:creator><pubDate>Tue, 11 Dec 2007 18:48:34 GMT</pubDate></item><item><title><![CDATA[Reply to Datei lesen und in array speichern on Wed, 12 Dec 2007 18:17:33 GMT]]></title><description><![CDATA[<p>Noch eine kleiner patch um die Länge des Integerfeldes zu bekommen</p>
<p>int* iarray = new int[strlen(iarray)+1];<br />
// delete[] nicht vergessen</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1419545</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1419545</guid><dc:creator><![CDATA[AJA]]></dc:creator><pubDate>Wed, 12 Dec 2007 18:17:33 GMT</pubDate></item><item><title><![CDATA[Reply to Datei lesen und in array speichern on Thu, 13 Dec 2007 06:44:43 GMT]]></title><description><![CDATA[<p>AJA schrieb:</p>
<blockquote>
<p>Noch eine kleiner patch um die Länge des Integerfeldes zu bekommen</p>
<p>int* iarray = new int[strlen(iarray)+1];<br />
// delete[] nicht vergessen</p>
</blockquote>
<p>Und was soll das bringen - außer undefiniertem Verhalten? Du rufst strlen() mit einem (noch) nicht initialisierten Zeiger auf und nutzt dann dessen Ergebnis, um eben diesen Zeiger zu initialisieren.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1419741</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1419741</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Thu, 13 Dec 2007 06:44:43 GMT</pubDate></item></channel></rss>