<?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[is.read &#x2F; Laufvariable im variablenname]]></title><description><![CDATA[<p>Hallo<br />
2 Fragen:<br />
Ich muss die nächsten 10 Byte einer Datei in ein Array speichern.<br />
Wichtig ist dabei dass ich die Werte als int und nicht als char speichern kann.<br />
Gelöst ist das bis jetzt so:</p>
<pre><code class="language-cpp">int speicher[10];

	ifstream stream;
	string fileName = &quot;blabla&quot;;
	stream.open(fileName.c_str(), ios::in|ios::binary);

       while (i&lt;10) 
	 {		
		speicher[i]=stream.get();   
		i++;		
	 }
</code></pre>
<p>Mit is.read funktioniert es nicht weil ich dort nur char speichern könnte.</p>
<pre><code class="language-cpp">int speicher[14];
stream.read(speicher,14);
</code></pre>
<p>Kann ich das trotzdem mit is.read lösen und nachträglich alle char in int umwandeln oder muss ich die meiner Ansicht nach unschöne erste Möglichkeit nehmen.</p>
<p>Meine 2. Frage: Gibt es eine Möglichkeit Laufvariablen in den Variablennamen zu integrieren.</p>
<p>Beispiel:</p>
<pre><code class="language-cpp">for(int j=1;j&lt;10;j++)
{
int speicher_j[5];
}
</code></pre>
<p>Also das j in speicher_j soll durch die jeweilige Zahl ersetzt werden.</p>
<p>Danke und Gruß<br />
Zaus</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/267365/is-read-laufvariable-im-variablenname</link><generator>RSS for Node</generator><lastBuildDate>Wed, 02 Sep 2026 12:41:35 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/267365.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 23 May 2010 12:07:52 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to is.read &#x2F; Laufvariable im variablenname on Sun, 23 May 2010 12:07:52 GMT]]></title><description><![CDATA[<p>Hallo<br />
2 Fragen:<br />
Ich muss die nächsten 10 Byte einer Datei in ein Array speichern.<br />
Wichtig ist dabei dass ich die Werte als int und nicht als char speichern kann.<br />
Gelöst ist das bis jetzt so:</p>
<pre><code class="language-cpp">int speicher[10];

	ifstream stream;
	string fileName = &quot;blabla&quot;;
	stream.open(fileName.c_str(), ios::in|ios::binary);

       while (i&lt;10) 
	 {		
		speicher[i]=stream.get();   
		i++;		
	 }
</code></pre>
<p>Mit is.read funktioniert es nicht weil ich dort nur char speichern könnte.</p>
<pre><code class="language-cpp">int speicher[14];
stream.read(speicher,14);
</code></pre>
<p>Kann ich das trotzdem mit is.read lösen und nachträglich alle char in int umwandeln oder muss ich die meiner Ansicht nach unschöne erste Möglichkeit nehmen.</p>
<p>Meine 2. Frage: Gibt es eine Möglichkeit Laufvariablen in den Variablennamen zu integrieren.</p>
<p>Beispiel:</p>
<pre><code class="language-cpp">for(int j=1;j&lt;10;j++)
{
int speicher_j[5];
}
</code></pre>
<p>Also das j in speicher_j soll durch die jeweilige Zahl ersetzt werden.</p>
<p>Danke und Gruß<br />
Zaus</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1901460</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1901460</guid><dc:creator><![CDATA[Zaus]]></dc:creator><pubDate>Sun, 23 May 2010 12:07:52 GMT</pubDate></item><item><title><![CDATA[Reply to is.read &#x2F; Laufvariable im variablenname on Sun, 23 May 2010 12:24:29 GMT]]></title><description><![CDATA[<p>Zaus schrieb:</p>
<blockquote>
<p>... muss ich die meiner Ansicht nach unschöne erste Möglichkeit nehmen.</p>
</blockquote>
<p>Was ist daran unschön, ausser dass du vielleicht die falsche Schleife verwendest?</p>
<pre><code class="language-cpp">int values[10];

for(int i = 0; i &lt; 10; ++i)
{
  values[i] = is.get();
}
</code></pre>
<p>Zaus schrieb:</p>
<blockquote>
<p>Meine 2. Frage: Gibt es eine Möglichkeit Laufvariablen in den Variablennamen zu integrieren.</p>
</blockquote>
<p>Gäbe Möglichkeiten, aber die sind eher unschön. Die Frage hier ist allerdings: Wozu?</p>
<p>Grüssli</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1901477</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1901477</guid><dc:creator><![CDATA[Dravere]]></dc:creator><pubDate>Sun, 23 May 2010 12:24:29 GMT</pubDate></item><item><title><![CDATA[Reply to is.read &#x2F; Laufvariable im variablenname on Sun, 23 May 2010 12:47:49 GMT]]></title><description><![CDATA[<p>Mir hätte stream.read halt besser gefallen <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>
<p>Zur 2. Frage:<br />
Eine MIDI-Datei beteht aus mehreren aufeinander folgenden Tracks. Ich wollte jeden Track in einen eigenen Array abspeichern. Am Anfang der Datei ist angegeben wie viele Tracks es gibt.</p>
<p>Also wollte ich das grob so lösen:</p>
<pre><code class="language-cpp">while(akt_track &lt; anzahl_der_tracks)
{

int tracksize = ..... //hier die Berechnung 
int track_akt_track[tracksize];

for(int i = 0; i &lt; 10; ++i)
{
  track_akt_track[i] = is.get.get();
}
}
</code></pre>
<p>Ich weiss gerade nicht wie ich das sonst machen soll, dass ich in einer Schleife alle Tracks in unterschiedliche Arrays speichere...vielleicht steh ich auch aufm Schlauch</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1901485</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1901485</guid><dc:creator><![CDATA[Zaus]]></dc:creator><pubDate>Sun, 23 May 2010 12:47:49 GMT</pubDate></item><item><title><![CDATA[Reply to is.read &#x2F; Laufvariable im variablenname on Sun, 23 May 2010 13:21:42 GMT]]></title><description><![CDATA[<p>Oh ich merke gerade:</p>
<p>int tracksize = ..... //hier die Berechnung<br />
int track_akt_track[tracksize];</p>
<p>funktioniert gar nicht da er statt tracksize ne konstante will.<br />
Das wär ja ziemlich scheisse da würde ich ja massig Speicherplatz verschwenden denn so ein track kann zwischen 10 und 100000 einträgen haben</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1901508</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1901508</guid><dc:creator><![CDATA[Zaus]]></dc:creator><pubDate>Sun, 23 May 2010 13:21:42 GMT</pubDate></item><item><title><![CDATA[Reply to is.read &#x2F; Laufvariable im variablenname on Sun, 23 May 2010 13:43:43 GMT]]></title><description><![CDATA[<p>Zaus schrieb:</p>
<blockquote>
<p>Mir hätte stream.read halt besser gefallen <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>
<p>Zur 2. Frage:<br />
Eine MIDI-Datei beteht aus mehreren aufeinander folgenden Tracks. Ich wollte jeden Track in einen eigenen Array abspeichern. Am Anfang der Datei ist angegeben wie viele Tracks es gibt.</p>
<p>Also wollte ich das grob so lösen:</p>
<pre><code class="language-cpp">while(akt_track &lt; anzahl_der_tracks)
{

int tracksize = ..... //hier die Berechnung 
int track_akt_track[tracksize];

for(int i = 0; i &lt; 10; ++i)
{
  track_akt_track[i] = is.get.get();
}
}
</code></pre>
<p>Ich weiss gerade nicht wie ich das sonst machen soll, dass ich in einer Schleife alle Tracks in unterschiedliche Arrays speichere...vielleicht steh ich auch aufm Schlauch</p>
</blockquote>
<p>Dafür ist std::vector da:</p>
<pre><code class="language-cpp">while(akt_track &lt; anzahl_der_tracks)
{
  int tracksize = ..... //hier die Berechnung 
  std::vector&lt;int&gt; track_akt_track(tracksize);

  for(int i = 0; i &lt; tracksize; ++i)
  {
    track_akt_track[i] = is.get.get();
  }
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1901512</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1901512</guid><dc:creator><![CDATA[tntnet]]></dc:creator><pubDate>Sun, 23 May 2010 13:43:43 GMT</pubDate></item><item><title><![CDATA[Reply to is.read &#x2F; Laufvariable im variablenname on Sun, 23 May 2010 14:00:41 GMT]]></title><description><![CDATA[<p>Danke du hast da das Problem gelöst das mir in dem zitierten Post noch gar nicht aufgefallen war <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 />
Wenn jemand noch n Vorschlag hat wie ich das mit den Namen machen könnte wäre das super</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1901524</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1901524</guid><dc:creator><![CDATA[Zaus]]></dc:creator><pubDate>Sun, 23 May 2010 14:00:41 GMT</pubDate></item><item><title><![CDATA[Reply to is.read &#x2F; Laufvariable im variablenname on Sun, 23 May 2010 14:09:09 GMT]]></title><description><![CDATA[<p>Zaus schrieb:</p>
<blockquote>
<p>Wenn jemand noch n Vorschlag hat wie ich das mit den Namen machen könnte wäre das super</p>
</blockquote>
<p>2D Container/Array?</p>
<p>Grüssli</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1901526</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1901526</guid><dc:creator><![CDATA[Dravere]]></dc:creator><pubDate>Sun, 23 May 2010 14:09:09 GMT</pubDate></item><item><title><![CDATA[Reply to is.read &#x2F; Laufvariable im variablenname on Sun, 23 May 2010 14:37:25 GMT]]></title><description><![CDATA[<p>Das ist ne gute Idee.<br />
Der einzige Nachteil ist eben auch wieder etwas verschwendeter Speicherplatz wenn der erste Track 10 Zahlen enthält und der 2. Track 10000 dann muss ich halt nen Vektor von der Größe 2x10000 machen...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1901540</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1901540</guid><dc:creator><![CDATA[Zaus]]></dc:creator><pubDate>Sun, 23 May 2010 14:37:25 GMT</pubDate></item><item><title><![CDATA[Reply to is.read &#x2F; Laufvariable im variablenname on Sun, 23 May 2010 14:43:40 GMT]]></title><description><![CDATA[<p>Wie wäre es mit eigenen Klassen?</p>
<pre><code class="language-cpp">class Track {
  // alles was ein Track braucht.
};

class MidiFile {
  std::vector&lt;Track&gt; tracks_;
  // alles übrige was ein MidiFile braucht
};
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1901541</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1901541</guid><dc:creator><![CDATA[l&#x27;abra d&#x27;or]]></dc:creator><pubDate>Sun, 23 May 2010 14:43:40 GMT</pubDate></item><item><title><![CDATA[Reply to is.read &#x2F; Laufvariable im variablenname on Sun, 23 May 2010 14:49:10 GMT]]></title><description><![CDATA[<p>Zaus schrieb:</p>
<blockquote>
<p>Das ist ne gute Idee.<br />
Der einzige Nachteil ist eben auch wieder etwas verschwendeter Speicherplatz wenn der erste Track 10 Zahlen enthält und der 2. Track 10000 dann muss ich halt nen Vektor von der Größe 2x10000 machen...</p>
</blockquote>
<p>Wieso? Zwingt dich ja niemand dazu, eine Matrix zu machen.</p>
<pre><code class="language-cpp">// Ganz einfach gezeigt (aber nicht unbedingt gut):
std::vector&lt;std::vector&lt;int&gt; &gt; vec2d;

vec2d.resize(2);
vec2d[0].resize(10);
vec2d[1].resize(10000);
</code></pre>
<p>Grüssli</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1901543</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1901543</guid><dc:creator><![CDATA[Dravere]]></dc:creator><pubDate>Sun, 23 May 2010 14:49:10 GMT</pubDate></item><item><title><![CDATA[Reply to is.read &#x2F; Laufvariable im variablenname on Sun, 23 May 2010 15:05:42 GMT]]></title><description><![CDATA[<blockquote>
<p>Wieso? Zwingt dich ja niemand dazu, eine Matrix zu machen.</p>
<pre><code class="language-cpp">// Ganz einfach gezeigt (aber nicht unbedingt gut):
std::vector&lt;std::vector&lt;int&gt; &gt; vec2d;

vec2d.resize(2);
vec2d[0].resize(10);
vec2d[1].resize(10000);
</code></pre>
<p>Grüssli</p>
</blockquote>
<p>Ich kenn mich leider mit Containern überhaupt nicht aus und versuche gerade mich ein bißchen reinzulesen. Deshalb wusste ich auch nicht dass man den einzelnen Zeilen eigene Größen zuordnen kann und versteh auch deinen geposteten Code noch nicht so ganz <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 />
Hatte nur den Code aus den FAQ gefunden:</p>
<pre><code class="language-cpp">for (int i = 0; i &lt; FirstDim; i++)
        My2DimArr[i].resize(SecDim);
</code></pre>
<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/20104">@l</a>'abra d'or : Auch wenn ich C++ verwende schreckt mich das objektorientierte Programmieren mit Klassen usw. noch etwas ab <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="😉"
    /> Ist mein erstes C/C++ Projekt und da objektorientiertes Programmieren keine Pflicht ist werd ich es erstmal so versuchen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1901554</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1901554</guid><dc:creator><![CDATA[Zaus]]></dc:creator><pubDate>Sun, 23 May 2010 15:05:42 GMT</pubDate></item></channel></rss>