<?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[Daten einlesen, neu schreiben]]></title><description><![CDATA[<p>Ich hab hier was C++ sein soll und ich besser schreiben soll. Ich sehe aber irgendwie nur C. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /><br />
Da:</p>
<pre><code>int imgfile = open((Rootpath+FilePath).c_str(), O_RDONLY);
  if(imgfile != -1){
    size_t buflen=255,rlen=1;
    off_t imglen=lseek(imgfile, 0L, SEEK_END);
    for(off_t pos=lseek(imgfile, 0, SEEK_SET); pos&lt;imglen; pos=lseek(imgfile, buflen, SEEK_CUR)){
      char buffer[buflen];
      rlen=pread(imgfile,buffer,buflen,pos);
      std::copy(buffer,&amp;buffer[rlen],std::back_inserter(Buffer));
    }
</code></pre>
<p>Mein neuer weg:</p>
<pre><code>bool ImgFile::getFile(std::string FilePath){
 std::ifstream myfile(Filepath, std::ifstream::binary); //Filepath = /home/user/mypics/testjpeg.jpg
 std::vector&lt;char&gt; vec; //müsste das vielleicht ein char* sein da char* buffer?
 int length = 0;
 char* buffer;
 // get length of file:
 myfile.seekg (0, myfile.end);
 length = myfile.tellg();
 myfile.seekg (0, myfile.beg);
 //check if its open
 if(imgfile.is_open()){
  buffer = new char[length];
   myfile.read(buffer,length); //read data block    
   vec.push_back(buffer); //put  data in vector
   //close and delete stuff
   myfile.close();
   delete[] buffer;
 }else{//error handling
   std::cerr &lt;&lt; &quot;No image found! Wrong filepath?&quot; &lt;&lt; '\n';
 }
}
</code></pre>
<p>Wobei ich mir nicht sicher bin ob das mit der Übergabe von Filepath so einfach geht. Da steht der Lokale Pfad drin von einem jpeg Bild.<br />
Bitte verbessert mich oder gebt mir Tipps ob ich das obige was ich nur halb verstehe richtig umgesetzt habe.</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/318915/daten-einlesen-neu-schreiben</link><generator>RSS for Node</generator><lastBuildDate>Sun, 26 Jul 2026 07:34:31 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/318915.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 31 Jul 2013 07:04:54 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Daten einlesen, neu schreiben on Wed, 31 Jul 2013 07:48:19 GMT]]></title><description><![CDATA[<p>Ich hab hier was C++ sein soll und ich besser schreiben soll. Ich sehe aber irgendwie nur C. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /><br />
Da:</p>
<pre><code>int imgfile = open((Rootpath+FilePath).c_str(), O_RDONLY);
  if(imgfile != -1){
    size_t buflen=255,rlen=1;
    off_t imglen=lseek(imgfile, 0L, SEEK_END);
    for(off_t pos=lseek(imgfile, 0, SEEK_SET); pos&lt;imglen; pos=lseek(imgfile, buflen, SEEK_CUR)){
      char buffer[buflen];
      rlen=pread(imgfile,buffer,buflen,pos);
      std::copy(buffer,&amp;buffer[rlen],std::back_inserter(Buffer));
    }
</code></pre>
<p>Mein neuer weg:</p>
<pre><code>bool ImgFile::getFile(std::string FilePath){
 std::ifstream myfile(Filepath, std::ifstream::binary); //Filepath = /home/user/mypics/testjpeg.jpg
 std::vector&lt;char&gt; vec; //müsste das vielleicht ein char* sein da char* buffer?
 int length = 0;
 char* buffer;
 // get length of file:
 myfile.seekg (0, myfile.end);
 length = myfile.tellg();
 myfile.seekg (0, myfile.beg);
 //check if its open
 if(imgfile.is_open()){
  buffer = new char[length];
   myfile.read(buffer,length); //read data block    
   vec.push_back(buffer); //put  data in vector
   //close and delete stuff
   myfile.close();
   delete[] buffer;
 }else{//error handling
   std::cerr &lt;&lt; &quot;No image found! Wrong filepath?&quot; &lt;&lt; '\n';
 }
}
</code></pre>
<p>Wobei ich mir nicht sicher bin ob das mit der Übergabe von Filepath so einfach geht. Da steht der Lokale Pfad drin von einem jpeg Bild.<br />
Bitte verbessert mich oder gebt mir Tipps ob ich das obige was ich nur halb verstehe richtig umgesetzt habe.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2342442</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2342442</guid><dc:creator><![CDATA[Fuchs aus dem Wald]]></dc:creator><pubDate>Wed, 31 Jul 2013 07:48:19 GMT</pubDate></item><item><title><![CDATA[Reply to Daten einlesen, neu schreiben on Wed, 31 Jul 2013 07:25:27 GMT]]></title><description><![CDATA[<p>Du möchtest also eine Datei einlesen? Hier:</p>
<pre><code>#include &lt;iostream&gt;
#include &lt;fstream&gt;
#include &lt;string&gt;
#include &lt;iterator&gt;

std::string ImgFile::getFile( std::string const&amp; FilePath ) // Per Referenz übergeben (spart ggf. Kopie)
{
	std::ifstream stream{FilePath, std::ios_base::binary};

        //Nachtrag: Hier wäre mögliche Fehlerbehandlung:
        if( !stream.is_open() )
            throw std::invalid_argument{&quot;getFile: Invalid filepath!&quot;};

	return { std::istreambuf_iterator&lt;char&gt;{stream}, std::istreambuf_iterator&lt;char&gt;{} };
}
</code></pre>
<p>(Ungetestet)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2342445</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2342445</guid><dc:creator><![CDATA[Sone]]></dc:creator><pubDate>Wed, 31 Jul 2013 07:25:27 GMT</pubDate></item><item><title><![CDATA[Reply to Daten einlesen, neu schreiben on Wed, 31 Jul 2013 07:54:41 GMT]]></title><description><![CDATA[<p>Sone schrieb:</p>
<blockquote>
<p>Du möchtest also eine Datei einlesen? Hier:</p>
</blockquote>
<p>Ja. Und in einen Vector packen.<br />
Kann man dein Vorschlag noch erweitern irgendwie so:</p>
<pre><code>#include &lt;iostream&gt;
#include &lt;fstream&gt;
#include &lt;string&gt;
#include &lt;iterator&gt;

std::string ImgFile::getFile( std::string const&amp; FilePath ) // Per Referenz übergeben (spart ggf. Kopie)
{
    std::vector&lt;char&gt; vec; //müsste das vielleicht ein char* sein da char* buffer?
    int length = 0;
    char* buffer;
    std::ifstream stream{FilePath, std::ios_base::binary};

        //Nachtrag: Hier wäre mögliche Fehlerbehandlung:
        if( !stream.is_open() ){
            throw std::invalid_argument{&quot;getFile: Invalid filepath!&quot;};
        }else{
          // get length of file:
          myfile.seekg (0, myfile.end);
          length = myfile.tellg();
          myfile.seekg (0, myfile.beg);
          buffer = new char[length];
          myfile.read(buffer,length); //read data block    
          vec.push_back(buffer); //put  data in vector
          //close and delete stuff
          myfile.close();
          delete[] buffer;
        }

    return { std::istreambuf_iterator&lt;char&gt;{stream}, std::istreambuf_iterator&lt;char&gt;{} };
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2342453</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2342453</guid><dc:creator><![CDATA[Fuchs aus dem Wald]]></dc:creator><pubDate>Wed, 31 Jul 2013 07:54:41 GMT</pubDate></item><item><title><![CDATA[Reply to Daten einlesen, neu schreiben on Wed, 31 Jul 2013 08:07:46 GMT]]></title><description><![CDATA[<p>wieso willst du einen vector anstatt einen string?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2342456</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2342456</guid><dc:creator><![CDATA[flabahz]]></dc:creator><pubDate>Wed, 31 Jul 2013 08:07:46 GMT</pubDate></item><item><title><![CDATA[Reply to Daten einlesen, neu schreiben on Wed, 31 Jul 2013 08:13:08 GMT]]></title><description><![CDATA[<p>Vermutlich, weil die nachfolgende Funktion einen Vector erwartet und es wenig Sinn ergibt, den String dann wieder in einen Vector umzuformen. Dann doch lieber gleich Vector.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2342458</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2342458</guid><dc:creator><![CDATA[stalker]]></dc:creator><pubDate>Wed, 31 Jul 2013 08:13:08 GMT</pubDate></item><item><title><![CDATA[Reply to Daten einlesen, neu schreiben on Wed, 31 Jul 2013 08:19:32 GMT]]></title><description><![CDATA[<p>stalker schrieb:</p>
<blockquote>
<p>Vermutlich, weil die nachfolgende Funktion einen Vector erwartet und es wenig Sinn ergibt, den String dann wieder in einen Vector umzuformen. Dann doch lieber gleich Vector.</p>
</blockquote>
<p>Ja sinnig ist es nicht muss allerdings so gemacht werden. Ich hab da halt so Auflagen. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f44e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--thumbs_down"
      title=":-1:"
      alt="👎"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2342460</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2342460</guid><dc:creator><![CDATA[Fuchs aus dem Wald]]></dc:creator><pubDate>Wed, 31 Jul 2013 08:19:32 GMT</pubDate></item><item><title><![CDATA[Reply to Daten einlesen, neu schreiben on Wed, 31 Jul 2013 08:31:45 GMT]]></title><description><![CDATA[<p>Als Funktionsparameter statt Containern Iteratoren benutzen! -&gt; vector, string, array, eigener containertyp; alles kein Problem!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2342465</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2342465</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Wed, 31 Jul 2013 08:31:45 GMT</pubDate></item><item><title><![CDATA[Reply to Daten einlesen, neu schreiben on Wed, 31 Jul 2013 08:53:14 GMT]]></title><description><![CDATA[<p>SeppJ, ich hab' Blut geleckt</p>
<pre><code>#include &lt;iostream&gt;
#include &lt;fstream&gt;
#include &lt;string&gt;
#include &lt;iterator&gt;
#include &lt;algorithm&gt;

template&lt;typename CharT,
         typename Traits,
         typename InputIterator&gt;
std::basic_istream&lt;CharT, Traits&gt;&amp; copyFile( std::basic_istream&lt;CharT, Traits&gt;&amp; stream,
											 InputIterator out ) // Am besten zu benutzen mit std::back_inserter
{
	using iter_t = std::istreambuf_iterator&lt;CharT, Traits&gt;;
	std::copy( iter_t{stream}, iter_t{}, out );
    return stream;
}

template&lt;typename CharT,
         typename Traits,
         typename InputIterator&gt;
std::basic_istream&lt;CharT, Traits&gt;&amp; copyFile( std::basic_istream&lt;CharT, Traits&gt;&amp; stream,
											 InputIterator out,
											 std::size_t maxAmount )
{
	using iter_t = std::istreambuf_iterator&lt;CharT, Traits&gt;;

	iter_t first{stream}, last;

	while( first != last &amp;&amp; maxAmount-- )
		*out++ = *first++;

    return stream;
}

template&lt;typename CharT,
         typename Traits,
         typename ForwardIterator&gt;
std::basic_istream&lt;CharT, Traits&gt;&amp; copyFile( std::basic_istream&lt;CharT, Traits&gt;&amp; stream,
											 ForwardIterator first_out,
											 ForwardIterator last_out )
{
	using iter_t = std::istreambuf_iterator&lt;CharT, Traits&gt;;

	iter_t first{stream}, last;

	while( first != last &amp;&amp; first_out != last_out )
		*first_out++ = *first++;

    return stream;
}

int main()
{
	std::ifstream stream{&quot;Data.txt&quot;, std::ios_base::binary};

	if( stream.is_open() )
	{
		std::vector&lt;char&gt; vec;
		copyFile( stream, std::back_inserter(vec) );
	}
}
</code></pre>
<p><strong>Edit:</strong> Überarbeitet. Sollte jetzt gehen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2342471</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2342471</guid><dc:creator><![CDATA[Sone]]></dc:creator><pubDate>Wed, 31 Jul 2013 08:53:14 GMT</pubDate></item><item><title><![CDATA[Reply to Daten einlesen, neu schreiben on Wed, 31 Jul 2013 08:49:16 GMT]]></title><description><![CDATA[<p>SeppJ schrieb:</p>
<blockquote>
<p>Als Funktionsparameter statt Containern Iteratoren benutzen! -&gt; vector, string, array, eigener containertyp; alles kein Problem!</p>
</blockquote>
<p>Kannst du mir da ein beispiel zeigen ich versteh das noch nicht ganz.</p>
<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/28547">@Sone</a> bitte verwirr mich nicht! <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="😉"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2342474</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2342474</guid><dc:creator><![CDATA[Fuchs aus dem Wald]]></dc:creator><pubDate>Wed, 31 Jul 2013 08:49:16 GMT</pubDate></item><item><title><![CDATA[Reply to Daten einlesen, neu schreiben on Wed, 31 Jul 2013 09:10:09 GMT]]></title><description><![CDATA[<p>Schau dir mal das Iterator-Pattern der Gang of Four an.</p>
<p>Im Prinzip macht man da nichts anderes als den Zugriff auf Container zu kapseln und darüber dann seine Algorithmen anzuwenden.</p>
<pre><code>template&lt;class T&gt;
void sortiere(vector&lt;T&gt; &amp; v){}

template&lt;class T&gt;
void sortiere(list&lt;T&gt; &amp; v){}

template&lt;class T&gt;
void sortiere(set&lt;T&gt; &amp; v){}

template&lt;class T&gt;
void sortiere(DeinContainerBaumDing&lt;T&gt; &amp; v){}
</code></pre>
<p>So ist der &quot;triviale&quot; Weg. Mit Iteratoren sparst du dir da viel viel Arbeit:</p>
<pre><code>template&lt;class Iterator&gt;
void sortiere(Iterator begin, Iterator end){}

int main()
{
    vector&lt;int&gt; vec = { /* ... */ };
    sortiere(vec.getBeginiterator(), vec.getEndIterator());

    DeinContainerBaumDing c = /*... */;
    sortiere(c.getBeginiterator(), c.getEndIterator());

    // usw...
}
</code></pre>
<p>Du musst also nicht deinen Algorithmus für viele verschiedene Container/Datenstrukturen immer wieder neu implementieren, sondern du gibst Iteratoren an die Algorithmen. Diese kapseln den Zugriff und lassen sich auf das nächste Element verschieben(oder sogar noch mehr). Du musst also nur noch für deine Datenstruktur einen Iterator zur Verfügung stellen und schon kannst du sämtliche Algorithmen nutzen (anstatt diese komplizierten Dinger neu zu schreiben).</p>
<p>In Java geben die Datenstrukturen normalerweise per &quot;.iterator()&quot; Methode einen Iterator zurück, der sowas kann wie &quot;it.next()&quot; und &quot;it.hasNext()&quot;. Ich denke das ist relativ selbsterklärend.</p>
<p>In C++ gibt es dafür die Methode &quot;.begin()&quot;, die einen Iterator auf das erste Element zurückgibt. In jedem Fall kann man diesen Iterator inkrementieren (auf das nächste Element setzen mit &quot;it++&quot; bzw &quot;++it&quot; und auch dereferenzieren, also das Element, auf das gezeigt wird, ansprechen mit &quot;*it&quot;.<br />
Der End-iterator zeigt gewöhnlich immer hinter das letzte Element einer Struktur, so dass die normale Schleifenbedingung ist: Solange it ungleich c.end(), mache xyz</p>
<p>Sieht so aus:</p>
<pre><code>vector&lt;double&gt; v;

for(vector&lt;double&gt;::iterator it = v.begin(); it != v.end(); ++it)
{
    double &amp; currentElement = *it;
    // mach was
}
</code></pre>
<p>Abgekürzt mit C++11:</p>
<pre><code>vector&lt;double&gt; v;

for(auto it = v.begin(); it != v.end(); ++it)
{
    double &amp; currentElement = *it;
    // mach was
}
</code></pre>
<p>oder noch kürzer:</p>
<pre><code>vector&lt;double&gt; v;

for(double &amp; currentElement : v)
{
    // mach was
}
</code></pre>
<p>Es gibt da einiges drüber zu lesen und zu wissen, aber das ist echt wichtig, wie ich finde.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2342478</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2342478</guid><dc:creator><![CDATA[Skym0sh0]]></dc:creator><pubDate>Wed, 31 Jul 2013 09:10:09 GMT</pubDate></item><item><title><![CDATA[Reply to Daten einlesen, neu schreiben on Wed, 31 Jul 2013 10:06:58 GMT]]></title><description><![CDATA[<p>Danke schon mal für die Antworten!!</p>
<p>Also ich hab jetzt versucht:</p>
<pre><code>template &lt;class Iterator&gt;
void copyFile(Iterator begin, Iterator end){
  /*...*/
}
void blaclass::blafunc(string const&amp; Filepath){
  std::ifstream file(FilePath);
    if(!file.is_open()){
      std::cerr &lt;&lt; &quot;Error: No file found!&quot; &lt;&lt; '\n';
    }
    std::istreambuf_iterator&lt;char&gt; fileit{file};
    copyFile&lt;char&gt;(fileit.begin(), fileit.end());
}
</code></pre>
<p>Nur ist das mit dem iterator noch nicht so richtig! Der hat kein begin und end. Da hab ich doch irgendwas nicht verstanden.<br />
Die /**/stream_isteratoren haben, zu mindestens laut reference, kein begin und end.<br />
Hoffe ich nerv nicht. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2342491</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2342491</guid><dc:creator><![CDATA[Fuchs aus dem Wald]]></dc:creator><pubDate>Wed, 31 Jul 2013 10:06:58 GMT</pubDate></item><item><title><![CDATA[Reply to Daten einlesen, neu schreiben on Wed, 31 Jul 2013 11:00:22 GMT]]></title><description><![CDATA[<p>Der Iterator ist doch auch schon selbst der Iterator! <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="😕"
    /></p>
<pre><code>std::istreambuf_iterator&lt;char&gt; fileit{file}, file_end_it;
    copyFile(fileit, file_end_it);
</code></pre>
<p>Hier nutzt man, dass ein default-konstruierter stream-Iterator einen end-of-stream Iterator darstellen, wie du in einer Referenz herausgefunden hättest.</p>
<p>Da sind aber noch mehr Designschwächen drin:</p>
<pre><code>void blaclass::blafunc(string const&amp; Filepath);
</code></pre>
<p>-&gt;</p>
<pre><code>void blaclass::blafunc(istream &amp; File);
</code></pre>
<p>Denn sofern deine Klasse nicht selber eine Datei darstellt, ist ihre Aufgabe <strong>nicht</strong>, sich um Dateien zu kümmern. Klare Trennung von Zuständigkeiten! Ein gutes Argument dafür ist schon deine unbeholfene Art und Weise, wie du in deinem Eingangsbeitrag die Fehler behandelst. Deine Klasse ist nicht für Dateihandling gemacht, sie versagt bei der Behandlung.</p>
<pre><code>void blaclass::blafunc(istream &amp; File);
</code></pre>
<p>-&gt;</p>
<pre><code>void blafunc(istream &amp; File);
</code></pre>
<p>Nichts an deinem Code deutet darauf hin, dass dies überhaupt eine Klassenfunktion sein sollte. Vielleicht hast du auch zu wenig gezeigt, aber ich tippe eher auf Designfehler.</p>
<pre><code>buffer = new char[length];
</code></pre>
<p>Wirklich? <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f621.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--pouting_face"
      title=":rage:"
      alt="😡"
    /> Wie viele Millionen mal muss man dir eigentlich std::vector erklären? Nimm <strong>niemals</strong> new für Arrays!</p>
<p>Ich glaube, die gesamte Funktion soll wohl einfach nur</p>
<pre><code>std::ifstream file(&quot;Blah&quot;);
  std::vector&lt;char&gt; blah(std::istreambuf_iterator&lt;char&gt;(file), std::istreambuf_iterator&lt;char&gt;());
</code></pre>
<p>sein, oder? Also gar keine Funktion, sondern einfach nur zwei Zeilen Code.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2342506</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2342506</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Wed, 31 Jul 2013 11:00:22 GMT</pubDate></item><item><title><![CDATA[Reply to Daten einlesen, neu schreiben on Wed, 31 Jul 2013 13:43:55 GMT]]></title><description><![CDATA[<p>SeppJ schrieb:</p>
<blockquote>
<pre><code>buffer = new char[length];
</code></pre>
<p>Wirklich? <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f621.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--pouting_face"
      title=":rage:"
      alt="😡"
    /> Wie viele Millionen mal muss man dir eigentlich std::vector erklären? Nimm <strong>niemals</strong> new für Arrays!</p>
</blockquote>
<p><img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /> <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /> <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /> <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /> <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /><br />
Ich MUSS wirklich MUSS das so machen! Ich hab das ganze was ich grade umschreibe mit einem vector gelöst. Dann durfte ich mir anhören das der leider nicht threadsafe(lieblings Argmument) ist und ich das doch bitte ändern soll.(Erklärung warum das so ist gab es nicht, angeblich sollen begin und end nicht funktionieren hat er mal irgendwo in einer reference gelesen ganz unten nie wieder auffindbar) Was bleibt mir den wenn ich von C++ kein std benutzen soll? -.- Ich kann nicht mal richtig Hilfe suchen weil ich einfach immer für absolut behindert erklärt werde. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /><br />
Trotzdem danke für eure Beiträge da ich dadurch für mich privat lerne wie ich es machen soll. Buch bin ich auch schon am Durcharbeiten was mich hier immer mehr hinterfragen lässt. <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=":/"
      alt="😕"
    /> (Der C++ Programmierer)</p>
<p>EDIT:<br />
Die Funktion soll ein Bild (Datei) einlesen und diese soll dann nach Markern(<a href="http://www.csie.mcu.edu.tw/~yklee/Blog/JPEG-MarkerCodeAssignment.jpg" rel="nofollow">JPEG Marker</a>) durchsucht werden um mein bekanntes Thema zu behandeln.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2342538</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2342538</guid><dc:creator><![CDATA[Fuchs aus dem Wald]]></dc:creator><pubDate>Wed, 31 Jul 2013 13:43:55 GMT</pubDate></item><item><title><![CDATA[Reply to Daten einlesen, neu schreiben on Wed, 31 Jul 2013 13:50:27 GMT]]></title><description><![CDATA[<p>Fuchs aus dem Wald schrieb:</p>
<blockquote>
<p>Dann durfte ich mir anhören das der leider nicht threadsafe(lieblings Argmument) ist und ich das doch bitte ändern soll.(Erklärung warum das so ist gab es nicht, angeblich sollen begin und end nicht funktionieren hat er mal irgendwo in einer reference gelesen ganz unten nie wieder auffindbar)</p>
</blockquote>
<p><img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f62e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_open_mouth"
      title=":open_mouth:"
      alt="😮"
    /> <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f62e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_open_mouth"
      title=":open_mouth:"
      alt="😮"
    /> <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f62e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_open_mouth"
      title=":open_mouth:"
      alt="😮"
    /> <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f62e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_open_mouth"
      title=":open_mouth:"
      alt="😮"
    /></p>
<p>Hat der auch behauptet, dass static_cast nicht threadsafe ist?</p>
<p>Der Typ scheint weder programmieren, noch diskutieren zu können. Von dem lernst du nichts, der schadet dir bloss. Entweder kannst du ihn auswechseln, oder du machst was er sagt, wohlwissend, dass das alles Quatsch ist, den du sofort wieder vergessen sollst.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2342539</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2342539</guid><dc:creator><![CDATA[ellol]]></dc:creator><pubDate>Wed, 31 Jul 2013 13:50:27 GMT</pubDate></item><item><title><![CDATA[Reply to Daten einlesen, neu schreiben on Wed, 31 Jul 2013 13:55:45 GMT]]></title><description><![CDATA[<p>Scott Meyers ist im November in Stuttgart. Schick den Typen da hin, damit seine Kenntnisse wieder mal aufgefrischt werden <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="😉"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2342541</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2342541</guid><dc:creator><![CDATA[MichelRT]]></dc:creator><pubDate>Wed, 31 Jul 2013 13:55:45 GMT</pubDate></item><item><title><![CDATA[Reply to Daten einlesen, neu schreiben on Wed, 31 Jul 2013 14:28:53 GMT]]></title><description><![CDATA[<p>ellol schrieb:</p>
<blockquote>
<p><img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f62e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_open_mouth"
      title=":open_mouth:"
      alt="😮"
    /> <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f62e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_open_mouth"
      title=":open_mouth:"
      alt="😮"
    /> <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f62e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_open_mouth"
      title=":open_mouth:"
      alt="😮"
    /> <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f62e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_open_mouth"
      title=":open_mouth:"
      alt="😮"
    /></p>
<p>Hat der auch behauptet, dass static_cast nicht threadsafe ist?</p>
</blockquote>
<p>JA!</p>
<p>ellol schrieb:</p>
<blockquote>
<p>Der Typ scheint weder programmieren, noch diskutieren zu können. Von dem lernst du nichts, der schadet dir bloss. Entweder kannst du ihn auswechseln, oder du machst was er sagt, wohlwissend, dass das alles Quatsch ist, den du sofort wieder vergessen sollst.</p>
</blockquote>
<p>Bin dabei.</p>
<p>MichelRT schrieb:</p>
<blockquote>
<p>Scott Meyers ist im November in Stuttgart. Schick den Typen da hin, damit seine Kenntnisse wieder mal aufgefrischt werden <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="😉"
    /></p>
</blockquote>
<p>Super Idee! Ich frag mein Chef, ob man da nicht mal hin kann um besser zu werden!<br />
EDIT: 1.990€ ... <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f62e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_open_mouth"
      title=":open_mouth:"
      alt="😮"
    /><br />
<img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f921.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--clown_face"
      title=":clown:"
      alt="🤡"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2342542</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2342542</guid><dc:creator><![CDATA[Fuchs aus dem Wald]]></dc:creator><pubDate>Wed, 31 Jul 2013 14:28:53 GMT</pubDate></item><item><title><![CDATA[Reply to Daten einlesen, neu schreiben on Thu, 01 Aug 2013 14:03:20 GMT]]></title><description><![CDATA[<p><strong>Auf die Gefahr hin sofort erschlagen, erschossen und gehängt zu werden</strong> <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/26a0.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--warning"
      title=":warning:"
      alt="⚠"
    /><br />
Also ich glaube ich muss mich über sowas hier 0 wundern. Aber ich weiß leider grade auch nicht weiter. Ich soll so arbeiten aber ich weiß nicht wie.</p>
<p>Fehler:</p>
<pre><code>*** glibc detected *** ../build/src/mxpw: malloc(): memory corruption: 0x000000000060c510 ***
</code></pre>
<p>Code:</p>
<pre><code>bool ImgFile::getFile(std::string Rootpath, std::string FilePath){
  int imgfile = open((Rootpath+FilePath).c_str(), O_RDONLY);
  if(imgfile != -1){
    off_t imglen=lseek(imgfile, 0, SEEK_END);
    Buff = new char[imglen];
    lseek(imgfile, 0, SEEK_SET);
    read(imgfile, (void*)Buff, imglen);
    //generate mxJPEG list
    if(!MxjpegRoot){
      MxjpegRoot = new mxJPEG;
      MxjpegCurr = MxjpegRoot;
    }else{
      MxjpegCurr-&gt;NextMxjpeg = new mxJPEG;
      MxjpegCurr = MxjpegCurr-&gt;NextMxjpeg;
    }
    MxjpegCurr-&gt;NextMxjpeg = NULL;
    //find all mkarker and save them into mxJPEG instance
    int dqtIndex = 0;
    int dhtIndex = 0;
    int checkDht = 0;
    int checkDqt = 0;
    for(int i = 0; i&lt;imglen; ++i){
      switch((unsigned char)Buff[i]){
        case(unsigned char)0xd8:
          MxjpegCurr-&gt;setSOI(&amp;Buff[i]);
          break;
        case(unsigned char)0xdb:
          MxjpegCurr-&gt;setDQT(&amp;Buff[i], dqtIndex);
          ++dqtIndex;
          break;
        case(unsigned char)0xc4:
          MxjpegCurr-&gt;setDHT(&amp;Buff[i], dhtIndex);
          ++dhtIndex;
          break;
        case(unsigned char)0xda:
          MxjpegCurr-&gt;setSOS(&amp;Buff[i]);
          break;
        case(unsigned char)0xd9:
          MxjpegCurr-&gt;setEOI(&amp;Buff[i]);
          break;
      }
    }
    if(checkDht != 4){
      for(int j = 0; j&lt;4; ++j){
        MxjpegCurr-&gt;setDHT(0, j);
      }
    }
    if(checkDqt != 2){
      for(int k = 0; k&lt;2; ++k){
        MxjpegCurr-&gt;setDQT(0, k);
      }
    }
  }else{
    std::cerr &lt;&lt; &quot;Error: Failed to load file!&quot; &lt;&lt; '\n';
  }
}
</code></pre>
<p>EDIT:<br />
Ja ja oh wunder std::cerr darf ich benutzen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2342766</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2342766</guid><dc:creator><![CDATA[Fuchs aus dem Wald]]></dc:creator><pubDate>Thu, 01 Aug 2013 14:03:20 GMT</pubDate></item><item><title><![CDATA[Reply to Daten einlesen, neu schreiben on Thu, 01 Aug 2013 14:13:25 GMT]]></title><description><![CDATA[<p><img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f621.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--pouting_face"
      title=":rage:"
      alt="😡"
    /> Programmier doch einfach vector nach. Dein komischer Kollege merkt bestimmt ohnehin nicht. Oder mach sogar eine Kopie einer Open-Source vector-Implementierung, damit es auch gut ist, und nenn die Klasse um. Dann passieren solche Fehler einfach nicht mehr und du sparst Unmengen Zeit bei der Fehlersuche.</p>
<p>P.S.: Du castest Case-Marken? <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="😕"
    /> Noch dazu mit C-Style Casts? Hast du das auch von deinem Kollegen, der nicht weiß, was Casting ist? Literalen kannst du einen Typ geben. <code>0u</code> ist zum Beispiel ein unsigned int. Und Casting machen wir wenn dann sowieso nur mit C++-Casts, bei den C-Casts ist nicht eindeutig, was sie überhaupt machen und eine Änderung an einer ganz anderen Stelle im Programm könnte somit eine Katastrophe auslösen und aus einem static_cast einen reinterpret_cast machen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2342770</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2342770</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Thu, 01 Aug 2013 14:13:25 GMT</pubDate></item><item><title><![CDATA[Reply to Daten einlesen, neu schreiben on Thu, 01 Aug 2013 14:23:09 GMT]]></title><description><![CDATA[<p>Also ich benutze, genau wie Volkard es einmal angedeutet hat (kann das Zitat nicht finden), um Skalare o.ä. zu casten nur <em>function-style-casts</em>. static_cast drückt für mich eher ein Flair aus der zum OOP passt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2342771</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2342771</guid><dc:creator><![CDATA[Sone]]></dc:creator><pubDate>Thu, 01 Aug 2013 14:23:09 GMT</pubDate></item><item><title><![CDATA[Reply to Daten einlesen, neu schreiben on Thu, 01 Aug 2013 14:26:25 GMT]]></title><description><![CDATA[<p>Sone schrieb:</p>
<blockquote>
<p>Also ich benutze, genau wie Volkard es einmal angedeutet hat (kann das Zitat nicht finden), um Skalare o.ä. zu casten nur <em>function-style-casts</em>. static_cast drückt für mich eher ein Flair aus der zum OOP passt.</p>
</blockquote>
<p>Ja, da kann <s>nicht viel</s> nichts passieren, aber es ist sicherlich eine gute Idee, dass man darüber nachdenkt, was man warum tut. Ich wette, der Threadersteller hat die function-style Casts eher aus Unkenntnis oder aus falschen Ratschlägen heraus (Threadsicherheit, lol :p ) benutzt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2342772</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2342772</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Thu, 01 Aug 2013 14:26:25 GMT</pubDate></item><item><title><![CDATA[Reply to Daten einlesen, neu schreiben on Thu, 01 Aug 2013 14:34:31 GMT]]></title><description><![CDATA[<p>SeppJ schrieb:</p>
<blockquote>
<p>Du castest Case-Marken?</p>
</blockquote>
<p>Halte ich an dieser Stelle nicht für völlig abwegig - wenn man mit den Promotionsregeln nicht fest vertraut ist. Der einzige (für Portabilität) erforderliche Cast ist hier nat. nur der im Auswahlausdruck.</p>
<p>Sone schrieb:</p>
<blockquote>
<p>Also ich benutze, genau wie Volkard es einmal angedeutet hat (kann das Zitat nicht finden), um Skalare o.ä. zu casten nur <em>function-style-casts</em>.</p>
</blockquote>
<p>Komisch, dabei sind es doch gerade Casts, bei denen Skalare involviert sind, die überhaupt nur richtig gefährlich sein können.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2342773</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2342773</guid><dc:creator><![CDATA[camper]]></dc:creator><pubDate>Thu, 01 Aug 2013 14:34:31 GMT</pubDate></item><item><title><![CDATA[Reply to Daten einlesen, neu schreiben on Thu, 01 Aug 2013 17:47:39 GMT]]></title><description><![CDATA[<p>camper schrieb:</p>
<blockquote>
<p>Sone schrieb:</p>
<blockquote>
<p>Also ich benutze, genau wie Volkard es einmal angedeutet hat (kann das Zitat nicht finden), um Skalare o.ä. zu casten nur <em>function-style-casts</em>.</p>
</blockquote>
<p>Komisch, dabei sind es doch gerade Casts, bei denen Skalare involviert sind, die überhaupt nur richtig gefährlich sein können.</p>
</blockquote>
<p>In meinem Code gibt es keine gefährlichen Casts. Ich habe größtenteils nur unbedeutenden Fälle, wie: Cast in einer <em>initializer-list</em> um narrowing zu umgehen. Ich caste nie Zeiger hin oder her, jedenfalls nicht in eigenen Projekten. Nur</p>
<blockquote>
<p>If the expression list is a single expression, the type conversion expression is equivalent (in definedness, and if defined in meaning) to the corresponding cast expression (5.4).</p>
</blockquote>
<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/19375">@SeppJ</a>: Wie kann ein <em>function-style-cast</em> also nicht gefährlich sein? Er stellt dasselbe wie ein C-Cast dar.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2342815</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2342815</guid><dc:creator><![CDATA[Sone]]></dc:creator><pubDate>Thu, 01 Aug 2013 17:47:39 GMT</pubDate></item><item><title><![CDATA[Reply to Daten einlesen, neu schreiben on Thu, 01 Aug 2013 20:39:56 GMT]]></title><description><![CDATA[<p>Sone schrieb:</p>
<blockquote>
<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/19375">@SeppJ</a>: Wie kann ein <em>function-style-cast</em> also nicht gefährlich sein? Er stellt dasselbe wie ein C-Cast dar.</p>
</blockquote>
<p>Na, dann, wenn du ihn nur ganz bewusst in unkritischen Fällen einsetzt, die unter keinen Umständen umgedeutet oder uneindeutig werden können. Ich hatte gedacht/gehofft, dass du eben diese Fälle meinst, in denen du die Casts so einsetzt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2342838</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2342838</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Thu, 01 Aug 2013 20:39:56 GMT</pubDate></item><item><title><![CDATA[Reply to Daten einlesen, neu schreiben on Fri, 02 Aug 2013 07:22:15 GMT]]></title><description><![CDATA[<p>SeppJ schrieb:</p>
<blockquote>
<p><img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f621.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--pouting_face"
      title=":rage:"
      alt="😡"
    /> Programmier doch einfach vector nach. Dein komischer Kollege merkt bestimmt ohnehin nicht. Oder mach sogar eine Kopie einer Open-Source vector-Implementierung, damit es auch gut ist, und nenn die Klasse um. Dann passieren solche Fehler einfach nicht mehr und du sparst Unmengen Zeit bei der Fehlersuche.</p>
</blockquote>
<p>Der Fehler kam durch ein fehlendes delete! Also ist genau der Fall eingetroffen vor dem ihr mich immer gewarnt habt! Ich danke euch noch mal hier das ihr obwohl ich nur mist Poste immer noch beisteht und zeigt wie es richtig geht.<br />
Klassen Namen werde ich noch mal überdenken.<br />
Das mit dem vector nach Programmieren könnte man echt hier fast so sehen. Nur in langsamer. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f921.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--clown_face"
      title=":clown:"
      alt="🤡"
    /></p>
<p>SeppJ schrieb:</p>
<blockquote>
<p>P.S.: Du castest Case-Marken? <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="😕"
    /> Noch dazu mit C-Style Casts? Hast du das auch von deinem Kollegen, der nicht weiß, was Casting ist? Literalen kannst du einen Typ geben. <code>0u</code> ist zum Beispiel ein unsigned int. Und Casting machen wir wenn dann sowieso nur mit C++-Casts, bei den C-Casts ist nicht eindeutig, was sie überhaupt machen und eine Änderung an einer ganz anderen Stelle im Programm könnte somit eine Katastrophe auslösen und aus einem static_cast einen reinterpret_cast machen.</p>
</blockquote>
<p>Ehm ja wurde mir alles so gezeigt und static_cast darf ich ja nun nicht benutzen. Bleibt ja nur der C-cast. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f621.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--pouting_face"
      title=":rage:"
      alt="😡"
    /><br />
Ja ich sollte das so casten. Ich wusste nicht das man das auch anders lösen kann. Mir wurde der cast gesagt aber das auch einfach 0xd8 reicht wusste ich nicht. Danke!<br />
Also es funktioniert jetzt so:</p>
<pre><code>case 0xd8:
</code></pre>
<p>Allerdings muss dann im switch das bleiben:</p>
<pre><code>switch((unsigned char)Buff[i])){
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2342864</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2342864</guid><dc:creator><![CDATA[Fuchs aus dem Wald]]></dc:creator><pubDate>Fri, 02 Aug 2013 07:22:15 GMT</pubDate></item><item><title><![CDATA[Reply to Daten einlesen, neu schreiben on Fri, 02 Aug 2013 07:46:51 GMT]]></title><description><![CDATA[<p>Fuchs aus dem Wald schrieb:</p>
<blockquote>
<p>Ehm ja wurde mir alles so gezeigt und static_cast darf ich ja nun nicht benutzen. Bleibt ja nur der C-cast. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f621.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--pouting_face"
      title=":rage:"
      alt="😡"
    /></p>
</blockquote>
<p>WTF! Hast du deinem Profiprogger denn nicht mal das Beispiel aus deinem letzten Thread gezeigt?</p>
<pre><code>struct strange {
  operator int() {
    return !(std::cout &lt;&lt; &quot;Diese Operation ist nicht threadsafe!&quot; &lt;&lt; std::endl);
  }
};

int main()
{
  strange s;
  static_cast&lt;int&gt;(s);
  (int)s;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2342872</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2342872</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Fri, 02 Aug 2013 07:46:51 GMT</pubDate></item><item><title><![CDATA[Reply to Daten einlesen, neu schreiben on Fri, 02 Aug 2013 08:05:16 GMT]]></title><description><![CDATA[<p>Problem <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/26a0.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--warning"
      title=":warning:"
      alt="⚠"
    /><br />
Sowas will er nicht hören! Und da ich ja eh hier der Anfänger bin hab ich keine Ahnung.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2342879</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2342879</guid><dc:creator><![CDATA[Fuchs aus dem Wald]]></dc:creator><pubDate>Fri, 02 Aug 2013 08:05:16 GMT</pubDate></item></channel></rss>