<?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[Kopieren einer Datei in einen Vector]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich habe eine XML-Datei die ich in einen <code>std::vector&lt;unsigned char&gt;</code> kopieren will um sie an eine C-Schnittstelle zu übergeben.<br />
Die Suche ergab <a href="http://www.c-plusplus.net/forum/viewtopic-var-t-is-227170.html" rel="nofollow">http://www.c-plusplus.net/forum/viewtopic-var-t-is-227170.html</a> als wertvollen Hinweis.</p>
<p>Das dort von Dravere gepostete Beispiel nur auf <code>unsigned char</code> angepasst:</p>
<pre><code class="language-cpp">#include &lt;vector&gt; // vector
#include &lt;fstream&gt; // ifstream
#include &lt;iterator&gt; // istream_iterator, back_inserter
#include &lt;algorithm&gt; // copy

// ...

std::ifstream file(&quot;...&quot;);
std::vector&lt;unsigned char&gt; vec;

std::copy(std::istream_iterator&lt;unsigned char&gt;(file),
          std::istream_iterator&lt;unsigned char&gt;(),
          std::back_inserter(vec));
</code></pre>
<p>Dravere schrieb:</p>
<blockquote>
<p>std::istream_iterator liest mit dem operator &gt;&gt;. Per Default ist skip whitespace als Option aktiviert. Jeglicher Linefeed, Carriage Return, Space und Tab wird ignoriert. Die Copy Anweisung kopiert nun jeglicher double im File in den Vektor, bis das Ende des Files erreicht wird.</p>
</blockquote>
<p>Genau hier liegt auch mein Problem, wie bekomme ich es hin, dass die Spaces etc enthalten bleiben? Oder gibt es eine bessere / elegantere Art dies zu lösen?</p>
<p>Ich habe mir schon den Umweg über einen <code>std::stringstream</code> überlegt, bin mir da aber unsicher ob das so funktioniert oder ob ich in Konvertierungsprobleme stolpere?</p>
<p>Vielen Dank<br />
fileproblem</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/232387/kopieren-einer-datei-in-einen-vector</link><generator>RSS for Node</generator><lastBuildDate>Fri, 25 Sep 2026 09:26:36 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/232387.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 22 Jan 2009 09:54:34 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Kopieren einer Datei in einen Vector on Thu, 22 Jan 2009 09:54:34 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich habe eine XML-Datei die ich in einen <code>std::vector&lt;unsigned char&gt;</code> kopieren will um sie an eine C-Schnittstelle zu übergeben.<br />
Die Suche ergab <a href="http://www.c-plusplus.net/forum/viewtopic-var-t-is-227170.html" rel="nofollow">http://www.c-plusplus.net/forum/viewtopic-var-t-is-227170.html</a> als wertvollen Hinweis.</p>
<p>Das dort von Dravere gepostete Beispiel nur auf <code>unsigned char</code> angepasst:</p>
<pre><code class="language-cpp">#include &lt;vector&gt; // vector
#include &lt;fstream&gt; // ifstream
#include &lt;iterator&gt; // istream_iterator, back_inserter
#include &lt;algorithm&gt; // copy

// ...

std::ifstream file(&quot;...&quot;);
std::vector&lt;unsigned char&gt; vec;

std::copy(std::istream_iterator&lt;unsigned char&gt;(file),
          std::istream_iterator&lt;unsigned char&gt;(),
          std::back_inserter(vec));
</code></pre>
<p>Dravere schrieb:</p>
<blockquote>
<p>std::istream_iterator liest mit dem operator &gt;&gt;. Per Default ist skip whitespace als Option aktiviert. Jeglicher Linefeed, Carriage Return, Space und Tab wird ignoriert. Die Copy Anweisung kopiert nun jeglicher double im File in den Vektor, bis das Ende des Files erreicht wird.</p>
</blockquote>
<p>Genau hier liegt auch mein Problem, wie bekomme ich es hin, dass die Spaces etc enthalten bleiben? Oder gibt es eine bessere / elegantere Art dies zu lösen?</p>
<p>Ich habe mir schon den Umweg über einen <code>std::stringstream</code> überlegt, bin mir da aber unsicher ob das so funktioniert oder ob ich in Konvertierungsprobleme stolpere?</p>
<p>Vielen Dank<br />
fileproblem</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1650044</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1650044</guid><dc:creator><![CDATA[fileproblem]]></dc:creator><pubDate>Thu, 22 Jan 2009 09:54:34 GMT</pubDate></item><item><title><![CDATA[Reply to Kopieren einer Datei in einen Vector on Thu, 22 Jan 2009 10:29:47 GMT]]></title><description><![CDATA[<p>würds eher mit nem string machen und dann mit der c_str methode an die C lib übergeben.</p>
<pre><code class="language-cpp">#include &lt;fstream&gt;
#include &lt;string&gt;

// ...

std::ifstream file(&quot;...&quot;);
std::string content;
std::string line;

while (getline(file, line)) 
        content.append(line);

c_schnittstelle(content.c_str());

// ...
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1650067</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1650067</guid><dc:creator><![CDATA[filevorschlag]]></dc:creator><pubDate>Thu, 22 Jan 2009 10:29:47 GMT</pubDate></item><item><title><![CDATA[Reply to Kopieren einer Datei in einen Vector on Thu, 22 Jan 2009 10:39:57 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">file &gt;&gt; noskipws;
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1650071</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1650071</guid><dc:creator><![CDATA[MFK]]></dc:creator><pubDate>Thu, 22 Jan 2009 10:39:57 GMT</pubDate></item><item><title><![CDATA[Reply to Kopieren einer Datei in einen Vector on Thu, 22 Jan 2009 13:04:24 GMT]]></title><description><![CDATA[<p>MFK schrieb:</p>
<blockquote>
<pre><code class="language-cpp">file &gt;&gt; noskipws;
</code></pre>
</blockquote>
<p>Super, Danke das wars <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>
]]></description><link>https://www.c-plusplus.net/forum/post/1650160</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1650160</guid><dc:creator><![CDATA[fileproblem]]></dc:creator><pubDate>Thu, 22 Jan 2009 13:04:24 GMT</pubDate></item></channel></rss>