<?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[probleme mit array]]></title><description><![CDATA[<p>Ich habe ein Prblem mit einem array das ich in eine datei schreiben will, wenn ich die werte in der for schleife in das array einlese und wieder auslese funktioniert alles, jedoch wenn ich das array in eine binär datei schreibe, schreibt er mir nur einen wert in jedes array in die datei. ich habe probiert das array über einen pointer einer anderen methode zu übergeben, dann gibt er mir auch immer nur die selbe zahl aus. hier wäre der code, das ist für mich überhaupt nicht logisch, wenn er die werte hineinschreibt, jedoch beim ausgeben immer den gleichen zurückgibt.</p>
<pre><code class="language-cpp">void CTxtFile::rTFileWBin( char *fName, int floats) {
    int begin = 0, end = 0, loop = 0;
    string buffer;
    double value;
    float *values = new float[floats];

    elements = chInFile(fName);   //hier werde nur die werte aus einer 
    rFile(fName);                 //textdatei ausgelesen und in float werte
    for (int i=0; i&lt;elements; i++) { //umgewandelt.
        i = text.find_first_of(&quot;\n&quot;, i);
        end = i;
        buffer.replace(0, end - begin, text, begin, end - begin);
        value =  atof(buffer.c_str());
        values[loop] = value;
        loop++;
        begin = end+1;
    }
    for (i=0; i&lt;loop; i++) {             //hier ist die ausgabe noch korrekt
        cout &lt;&lt; values[i] &lt;&lt; &quot;\t&quot;;
    }
    dat_out = new ofstream; //hier werden dann die werte falsch geschrieben
    char dest[30] = &quot;&quot;;    //bei übergabe des arrays über einen pointer,
    strcpy(dest, fName);   //steht in jedem feld der selbe wert.
    strcat(dest, &quot;.bin&quot;);
    dat_out-&gt;open(dest, ios::out);
    if (!dat_out) {
        cerr &lt;&lt; &quot;Datei konnte nicht geoeffnet werden!\n&quot;;
        }
    else {
        dat_out-&gt;write((char *)values, sizeof(float)*loop);
    }
    dat_out-&gt;close();
    delete dat_out;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/topic/35752/probleme-mit-array</link><generator>RSS for Node</generator><lastBuildDate>Fri, 25 Sep 2026 07:51:13 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/35752.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 08 Apr 2003 12:11:00 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to probleme mit array on Tue, 08 Apr 2003 12:11:00 GMT]]></title><description><![CDATA[<p>Ich habe ein Prblem mit einem array das ich in eine datei schreiben will, wenn ich die werte in der for schleife in das array einlese und wieder auslese funktioniert alles, jedoch wenn ich das array in eine binär datei schreibe, schreibt er mir nur einen wert in jedes array in die datei. ich habe probiert das array über einen pointer einer anderen methode zu übergeben, dann gibt er mir auch immer nur die selbe zahl aus. hier wäre der code, das ist für mich überhaupt nicht logisch, wenn er die werte hineinschreibt, jedoch beim ausgeben immer den gleichen zurückgibt.</p>
<pre><code class="language-cpp">void CTxtFile::rTFileWBin( char *fName, int floats) {
    int begin = 0, end = 0, loop = 0;
    string buffer;
    double value;
    float *values = new float[floats];

    elements = chInFile(fName);   //hier werde nur die werte aus einer 
    rFile(fName);                 //textdatei ausgelesen und in float werte
    for (int i=0; i&lt;elements; i++) { //umgewandelt.
        i = text.find_first_of(&quot;\n&quot;, i);
        end = i;
        buffer.replace(0, end - begin, text, begin, end - begin);
        value =  atof(buffer.c_str());
        values[loop] = value;
        loop++;
        begin = end+1;
    }
    for (i=0; i&lt;loop; i++) {             //hier ist die ausgabe noch korrekt
        cout &lt;&lt; values[i] &lt;&lt; &quot;\t&quot;;
    }
    dat_out = new ofstream; //hier werden dann die werte falsch geschrieben
    char dest[30] = &quot;&quot;;    //bei übergabe des arrays über einen pointer,
    strcpy(dest, fName);   //steht in jedem feld der selbe wert.
    strcat(dest, &quot;.bin&quot;);
    dat_out-&gt;open(dest, ios::out);
    if (!dat_out) {
        cerr &lt;&lt; &quot;Datei konnte nicht geoeffnet werden!\n&quot;;
        }
    else {
        dat_out-&gt;write((char *)values, sizeof(float)*loop);
    }
    dat_out-&gt;close();
    delete dat_out;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/261232</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/261232</guid><dc:creator><![CDATA[mattias]]></dc:creator><pubDate>Tue, 08 Apr 2003 12:11:00 GMT</pubDate></item><item><title><![CDATA[Reply to probleme mit array on Sun, 12 Aug 2007 12:08:15 GMT]]></title><description><![CDATA[<p>wieß das keiner?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1343132</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1343132</guid><dc:creator><![CDATA[matias]]></dc:creator><pubDate>Sun, 12 Aug 2007 12:08:15 GMT</pubDate></item><item><title><![CDATA[Reply to probleme mit array on Sun, 12 Aug 2007 14:42:54 GMT]]></title><description><![CDATA[<p>Datum beachten!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1343190</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1343190</guid><dc:creator><![CDATA[otze]]></dc:creator><pubDate>Sun, 12 Aug 2007 14:42:54 GMT</pubDate></item></channel></rss>