<?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 einlesen und daten in variablen speichern]]></title><description><![CDATA[<p>Hi</p>
<p>ich habe folgendes Problem (Borland C++ - Konsole):<br />
Ich lasse mit meinem Programm verschiedene Zahlenwerte in eine Datei schreiben. Nun soll die Datei auch wieder eingelesen werden.<br />
Meine Datei sieht so aus:</p>
<p>&quot;</p>
<p>// anzahl der kräfte und winkel //<br />
4<br />
// kräfte ; winkel //<br />
12 ; 31<br />
234 ; 123<br />
123 ; 123<br />
12 ; 34<br />
// berechnete werte -- sin ; cos ; F * cos ; F * sin //<br />
0.515038 ; 0.857167 ; 10.286 ; 6.18046<br />
0.838671 ; -0.544639 ; -127.446 ; 196.249<br />
0.838671 ; -0.544639 ; -66.9906 ; 103.156<br />
0.559193 ; 0.829038 ; 9.94845 ; 6.71031<br />
// Endlösungen -- resultierende Kraft F ; Winkel der resultierenden Kraft //<br />
357.596 ; 3.39791e-39</p>
<p>&quot;</p>
<p>die 4 steht für eine anzahl und wird sozusagen für eine schleife benötigt<br />
die anderen zahlen sollen in einem array dann landen, mit dem ich dann rechne.<br />
ich komme aber zur zeit überhaupt nicht klar, wie ich die zahlen so einzeln einlese und zb einer float- oder integervariable zuweise. ich müßte ja immer bis zu einem semikolon parsen und was davor steht bzw danach zuweisen. die zeilen mit // sollen aber ausgelassen werden.</p>
<p>vielleicht hat von euch jemand eine kleine idee, wie ich einen ansatz finde!</p>
<p>wäre echt dankbar!</p>
<p>mfg</p>
<p>robert</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/138690/datei-einlesen-und-daten-in-variablen-speichern</link><generator>RSS for Node</generator><lastBuildDate>Sun, 30 Aug 2026 10:37:46 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/138690.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 28 Feb 2006 14:57:21 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Datei einlesen und daten in variablen speichern on Tue, 28 Feb 2006 14:57:21 GMT]]></title><description><![CDATA[<p>Hi</p>
<p>ich habe folgendes Problem (Borland C++ - Konsole):<br />
Ich lasse mit meinem Programm verschiedene Zahlenwerte in eine Datei schreiben. Nun soll die Datei auch wieder eingelesen werden.<br />
Meine Datei sieht so aus:</p>
<p>&quot;</p>
<p>// anzahl der kräfte und winkel //<br />
4<br />
// kräfte ; winkel //<br />
12 ; 31<br />
234 ; 123<br />
123 ; 123<br />
12 ; 34<br />
// berechnete werte -- sin ; cos ; F * cos ; F * sin //<br />
0.515038 ; 0.857167 ; 10.286 ; 6.18046<br />
0.838671 ; -0.544639 ; -127.446 ; 196.249<br />
0.838671 ; -0.544639 ; -66.9906 ; 103.156<br />
0.559193 ; 0.829038 ; 9.94845 ; 6.71031<br />
// Endlösungen -- resultierende Kraft F ; Winkel der resultierenden Kraft //<br />
357.596 ; 3.39791e-39</p>
<p>&quot;</p>
<p>die 4 steht für eine anzahl und wird sozusagen für eine schleife benötigt<br />
die anderen zahlen sollen in einem array dann landen, mit dem ich dann rechne.<br />
ich komme aber zur zeit überhaupt nicht klar, wie ich die zahlen so einzeln einlese und zb einer float- oder integervariable zuweise. ich müßte ja immer bis zu einem semikolon parsen und was davor steht bzw danach zuweisen. die zeilen mit // sollen aber ausgelassen werden.</p>
<p>vielleicht hat von euch jemand eine kleine idee, wie ich einen ansatz finde!</p>
<p>wäre echt dankbar!</p>
<p>mfg</p>
<p>robert</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1005118</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1005118</guid><dc:creator><![CDATA[robbirob]]></dc:creator><pubDate>Tue, 28 Feb 2006 14:57:21 GMT</pubDate></item><item><title><![CDATA[Reply to Datei einlesen und daten in variablen speichern on Tue, 28 Feb 2006 15:00:45 GMT]]></title><description><![CDATA[<p>irgendwie mit fscanf, fgets und strtok wird das gehen</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1005124</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1005124</guid><dc:creator><![CDATA[net 0]]></dc:creator><pubDate>Tue, 28 Feb 2006 15:00:45 GMT</pubDate></item><item><title><![CDATA[Reply to Datei einlesen und daten in variablen speichern on Thu, 02 Mar 2006 22:07:37 GMT]]></title><description><![CDATA[<p>Das Vorgehen ist immer das gleiche: mache Dir ein paar Strukturen oder Klassen, in denen die eingelesenen Werte untergebracht werden. Diese sollten gleich so gestaltet werden, dass man nach dem Einlesen mit ihnen weiter arbeiten kann.<br />
Dann wird jedem Typ ein Streaming-operator verpasst.</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &lt;fstream&gt;
#include &lt;vector&gt;
#include &lt;limits&gt;

std::istream&amp; kommentar( std::istream&amp; in )
{
    char c;
    in &gt;&gt; c;
    if( c != '/' ) // falls das nächste Zeochen '/' ist ..
    {
        return in.putback( c );
    }
    // Rest der Zeile überlesen
    return in.ignore( std::numeric_limits&lt; std::streamsize &gt;::max(), '\n' );
};

struct Kraft
{
    friend std::istream&amp; operator&gt;&gt;( std::istream&amp; in, Kraft&amp; kraft )
    {
        char semikolon;
        return in &gt;&gt; kraft.m_kraft &gt;&gt; semikolon &gt;&gt; kraft.m_winkel;
    }
private:
    double m_kraft;
    double m_winkel;
};
struct Kraft2
{
    friend std::istream&amp; operator&gt;&gt;( std::istream&amp; in, Kraft2&amp; kraft )
    {
        char semikolon;
        return in &gt;&gt; kraft.m_sin &gt;&gt; semikolon &gt;&gt; kraft.m_cos 
            &gt;&gt; semikolon &gt;&gt; kraft.m_F_sin &gt;&gt; semikolon &gt;&gt; kraft.m_F_cos;
    }
private:
    double m_sin, m_cos;
    double m_F_sin, m_F_cos;
};

int main()
{
    using namespace std;
    vector&lt; Kraft &gt; kraefte;
    vector&lt; Kraft2 &gt; kraefte2;
    Kraft resultierendeKraft;

    ifstream file( &quot;input.txt&quot; );
    int n;
    Kraft kraft;
    file &gt;&gt; kommentar &gt;&gt; n &gt;&gt; kommentar;
    for( int i = 0; i &lt; n &amp;&amp; file &gt;&gt; kraft; ++i )
        kraefte.push_back( kraft );
    Kraft2 kraft2;
    file &gt;&gt; kommentar;
    for( int i = 0; i &lt; n &amp;&amp; file &gt;&gt; kraft2; ++i )
        kraefte2.push_back( kraft2 );
    file &gt;&gt; kommentar &gt;&gt; resultierendeKraft;

    return 0;
}
</code></pre>
<p>.. und was diese 'struct's noch für Methoden bekommen, hängt davon ab, was Du mit den eingelesenen Kräften vorhast.</p>
<p>Gruß<br />
Werner</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1007193</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1007193</guid><dc:creator><![CDATA[Werner Salomon]]></dc:creator><pubDate>Thu, 02 Mar 2006 22:07:37 GMT</pubDate></item><item><title><![CDATA[Reply to Datei einlesen und daten in variablen speichern on Thu, 02 Mar 2006 22:58:02 GMT]]></title><description><![CDATA[<p>Das hilft mir auch gerade super weiter!</p>
<p>Was mache ich, wenn ich beispielsweise ein Array von 100 Elementen habe, die ich einlesen möchte.</p>
<p>Kann ich den Teil<br />
return in &gt;&gt; Ziel1 &gt;&gt; Ziel2 &gt;&gt; ...</p>
<p>auch durch ne Schleife ersetzen?</p>
<p>Falls ja? Erst mit ner Schleife alles einsammeln und dann &quot;return&quot; angeben?</p>
<p>Danke im Voraus.<br />
Bin leider absolut Stream-Unwissend</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1007216</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1007216</guid><dc:creator><![CDATA[JoKl]]></dc:creator><pubDate>Thu, 02 Mar 2006 22:58:02 GMT</pubDate></item><item><title><![CDATA[Reply to Datei einlesen und daten in variablen speichern on Fri, 03 Mar 2006 22:08:42 GMT]]></title><description><![CDATA[<p>JoKl schrieb:</p>
<blockquote>
<p>Was mache ich, wenn ich beispielsweise ein Array von 100 Elementen habe, die ich einlesen möchte.</p>
<p>Kann ich den Teil<br />
return in &gt;&gt; Ziel1 &gt;&gt; Ziel2 &gt;&gt; ...</p>
<p>auch durch ne Schleife ersetzen?</p>
</blockquote>
<p>Ja sicher: (wie oben schon beschrieben)</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &lt;fstream&gt;

int main()
{
    using namespace std;
    const int N = 100;
    int array[N];
    ifstream file( &quot;input.txt&quot; );
    for( int i = 0; i &lt; N  &amp;&amp;  file &gt;&gt; array[i]; ++i )
        ;
    if( file )
    {
        ; // array mit N Elementen ohne Fehler gelesen
    }
    return 0;
}
</code></pre>
<p>JoKl schrieb:</p>
<blockquote>
<p>Falls ja? Erst mit ner Schleife alles einsammeln und dann &quot;return&quot; angeben?</p>
</blockquote>
<p><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="😕"
    /> ich versteh' die Frage nicht .. was meinst Du mit 'dann &quot;return&quot; angeben'?</p>
<p>Gruß<br />
Werner</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1008110</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1008110</guid><dc:creator><![CDATA[Werner Salomon]]></dc:creator><pubDate>Fri, 03 Mar 2006 22:08:42 GMT</pubDate></item></channel></rss>