<?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[Vektor-Array in Datei speichern]]></title><description><![CDATA[<p>Ich habe einen Vektor, der als Elemente wieder Vektoren beinhaltet. DIese sind jedoch unterschiedlich lang(!):</p>
<pre><code>[cpp]std::vector&lt; std::vectory&lt; int &gt; &gt; OverlordVector; 
std::vector&lt;int&gt; minivector; 

for (i = 0; i &lt; 20000; i++) 
{ 
    minivector.push_back(i) 
} 

OverlordVector.push_back(minivector); [/cpp]
</code></pre>
<p>Wie kann ich diesen (Overlord-)Vektor jetzt in ne Datei schreiben (ASCII oder Binary), <em>und ihn später auch wieder leicht auslesen</em>?</p>
<p>ANGs_Pino</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/231679/vektor-array-in-datei-speichern</link><generator>RSS for Node</generator><lastBuildDate>Fri, 25 Sep 2026 19:04:29 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/231679.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 14 Jan 2009 07:38:08 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Vektor-Array in Datei speichern on Wed, 14 Jan 2009 07:38:08 GMT]]></title><description><![CDATA[<p>Ich habe einen Vektor, der als Elemente wieder Vektoren beinhaltet. DIese sind jedoch unterschiedlich lang(!):</p>
<pre><code>[cpp]std::vector&lt; std::vectory&lt; int &gt; &gt; OverlordVector; 
std::vector&lt;int&gt; minivector; 

for (i = 0; i &lt; 20000; i++) 
{ 
    minivector.push_back(i) 
} 

OverlordVector.push_back(minivector); [/cpp]
</code></pre>
<p>Wie kann ich diesen (Overlord-)Vektor jetzt in ne Datei schreiben (ASCII oder Binary), <em>und ihn später auch wieder leicht auslesen</em>?</p>
<p>ANGs_Pino</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1645060</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1645060</guid><dc:creator><![CDATA[ANGs_Pino]]></dc:creator><pubDate>Wed, 14 Jan 2009 07:38:08 GMT</pubDate></item><item><title><![CDATA[Reply to Vektor-Array in Datei speichern on Wed, 14 Jan 2009 07:43:41 GMT]]></title><description><![CDATA[<p>Wenn es als ASCII geschrieben werden darf, könntest Du z.B. die geschachtelten Vektoren immer in eine Zeile packen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1645061</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1645061</guid><dc:creator><![CDATA[Tachyon]]></dc:creator><pubDate>Wed, 14 Jan 2009 07:43:41 GMT</pubDate></item><item><title><![CDATA[Reply to Vektor-Array in Datei speichern on Wed, 14 Jan 2009 08:12:08 GMT]]></title><description><![CDATA[<p>ANGs_Pino schrieb:</p>
<blockquote>
<p>Ich habe einen Vektor, der als Elemente wieder Vektoren beinhaltet. ...<br />
Wie kann ich diesen (Overlord-)Vektor jetzt in ne Datei schreiben (ASCII oder Binary), <em>und ihn später auch wieder leicht auslesen</em>?</p>
</blockquote>
<p>ASCII sollte zunächst die erste Wahl sein (weil viel einfacher)</p>
<p>das geht z.B. so:</p>
<pre><code class="language-cpp">#include &lt;fstream&gt;
#include &lt;algorithm&gt;    // copy, swap
#include &lt;iterator&gt;     // ostream_iterator
#include &lt;iostream&gt;
#include &lt;vector&gt;

std::ostream&amp; save( std::ostream&amp; out, const std::vector&lt; std::vector&lt; int &gt; &gt;&amp; v )
{
    out &lt;&lt; v.size() &lt;&lt; std::endl;
    for( std::vector&lt; std::vector&lt; int &gt; &gt;::const_iterator i = v.begin(); i != v.end(); ++i )
    {
        out &lt;&lt; i-&gt;size() &lt;&lt; std::endl;
        std::copy( i-&gt;begin(), i-&gt;end(), std::ostream_iterator&lt; int &gt;( out, &quot; &quot; ) );
        out &lt;&lt; std::endl;
    }
    return out;
}
std::istream&amp; load( std::istream&amp; in, std::vector&lt; std::vector&lt; int &gt; &gt;&amp; v_ )
{
    std::vector&lt; std::vector&lt; int &gt; &gt; v;
    std::size_t n;
    in &gt;&gt; n; // Anzahl der vector&lt;int&gt;
    for( std::size_t m; n &amp;&amp; in &gt;&gt; m; --n )
    {
        std::vector&lt; int &gt; mini;
        for( int x; m &amp;&amp; in &gt;&gt; x; --m )
            mini.push_back( x );
        v.push_back( mini ); // oder: v.push_back( std::vector&lt; int &gt;() ); swap( v.back(), mini );
    }
    if( in ) // Lesen war ok ...
        swap( v_, v ); // .. dann übernehmen
    return in;
}

int main()
{
    using namespace std;
    std::vector&lt; std::vector&lt; int &gt; &gt; OverlordVector;
    // OverlordVector füllen ...
    {   // --   Speichern
        ofstream output(&quot;overlord.txt&quot;);
        if( save( output, OverlordVector ) )
            cout &lt;&lt; &quot;korrekt gespeichert &quot; &lt;&lt; endl;
    }

    // --   Laden
    ifstream input(&quot;overlord.txt&quot;);
    if( load( cin, OverlordVector ) )
        cout &lt;&lt; &quot;Gelesen .. &quot; &lt;&lt; OverlordVector.size() &lt;&lt; &quot; Vektoren&quot; &lt;&lt; endl;
    return 0;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1645068</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1645068</guid><dc:creator><![CDATA[Werner_logoff]]></dc:creator><pubDate>Wed, 14 Jan 2009 08:12:08 GMT</pubDate></item><item><title><![CDATA[Reply to Vektor-Array in Datei speichern on Wed, 14 Jan 2009 08:19:51 GMT]]></title><description><![CDATA[<p>Werner_logoff schrieb:</p>
<blockquote>
<pre><code class="language-cpp">if( load( cin, OverlordVector ) )  // Zeile 48
</code></pre>
</blockquote>
<p>.. muss natürlich</p>
<pre><code class="language-cpp">if( load( input, OverlordVector ) )
</code></pre>
<p>heißen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1645073</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1645073</guid><dc:creator><![CDATA[Werner_logoff]]></dc:creator><pubDate>Wed, 14 Jan 2009 08:19:51 GMT</pubDate></item></channel></rss>