<?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[u_char array für mysql-query konvertieren?]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich hab folgendes Problem:</p>
<p>ich habe eine MAC-Addresse in einem u_char array von 6 Byte Länge, wie in diesem Beispiel:</p>
<p>u_char mac[]= { 0x00, 0x80, 0xef, 0x87, 0x45, 0xcb};</p>
<p>Nun habe ich die MAC-Addresse einiger Netzwerkgeräte in einer Mysql Datenbank in einem varchar-Feld mit der Länge 12 hinterlegt.</p>
<p>Ein Datenbankeintrag sähe also so aus: 0080ef8745cb</p>
<p>Nun müchte ich gerne in meinem C++-Programm ein Query ausführen, welches nach der MAC-Addresse in der Datenbank sucht.</p>
<p>Nun ergibt sich das Problem, dass die MAC-Adresse im u_char array pro Byte zwei Zeichen hat, insgesamt also eine Länge von sechs, ich aber in meiner Query ein String mit einer länge von 12 brauche.</p>
<p>Wie könnte ich die u_chars so konvertieren, das ich die Werte der u_char Bytes in einem zwölf Zeichen String habe?</p>
<p>Ich hoffe ich habe das Problem halbwegs verständlich gemacht.<br />
Für jede Hilfe wäre ich sehr Dankbar.</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/249031/u_char-array-für-mysql-query-konvertieren</link><generator>RSS for Node</generator><lastBuildDate>Wed, 16 Sep 2026 16:19:30 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/249031.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 01 Sep 2009 19:29:41 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to u_char array für mysql-query konvertieren? on Tue, 01 Sep 2009 19:29:41 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich hab folgendes Problem:</p>
<p>ich habe eine MAC-Addresse in einem u_char array von 6 Byte Länge, wie in diesem Beispiel:</p>
<p>u_char mac[]= { 0x00, 0x80, 0xef, 0x87, 0x45, 0xcb};</p>
<p>Nun habe ich die MAC-Addresse einiger Netzwerkgeräte in einer Mysql Datenbank in einem varchar-Feld mit der Länge 12 hinterlegt.</p>
<p>Ein Datenbankeintrag sähe also so aus: 0080ef8745cb</p>
<p>Nun müchte ich gerne in meinem C++-Programm ein Query ausführen, welches nach der MAC-Addresse in der Datenbank sucht.</p>
<p>Nun ergibt sich das Problem, dass die MAC-Adresse im u_char array pro Byte zwei Zeichen hat, insgesamt also eine Länge von sechs, ich aber in meiner Query ein String mit einer länge von 12 brauche.</p>
<p>Wie könnte ich die u_chars so konvertieren, das ich die Werte der u_char Bytes in einem zwölf Zeichen String habe?</p>
<p>Ich hoffe ich habe das Problem halbwegs verständlich gemacht.<br />
Für jede Hilfe wäre ich sehr Dankbar.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1770552</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1770552</guid><dc:creator><![CDATA[xbeamer]]></dc:creator><pubDate>Tue, 01 Sep 2009 19:29:41 GMT</pubDate></item><item><title><![CDATA[Reply to u_char array für mysql-query konvertieren? on Wed, 02 Sep 2009 10:58:15 GMT]]></title><description><![CDATA[<p>&quot;byte to hex&quot; wäre das Stichwort.</p>
<p>Müßte so ähnlich gehen:</p>
<pre><code class="language-cpp">#include &lt;strstream&gt;
#include &lt;iomanip&gt;

std::string mac_string(const unsigned char mac[6])
{
  std::ostringstream ostr;

  for(int i=0; i&lt;6; i++)
    ostr &lt;&lt; std::ios::hex &lt;&lt; std::ios:setfill('0') &lt;&lt; std::ios::setw(2) &lt;&lt; (int)mac[i]; // &lt;- (int) added!!!

  return ostr.str();
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1770604</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1770604</guid><dc:creator><![CDATA[Th69]]></dc:creator><pubDate>Wed, 02 Sep 2009 10:58:15 GMT</pubDate></item><item><title><![CDATA[Reply to u_char array für mysql-query konvertieren? on Tue, 01 Sep 2009 22:47:18 GMT]]></title><description><![CDATA[<p>Bei mir klappt's so:</p>
<pre><code class="language-cpp">#include &lt;sstream&gt;
#include &lt;iomanip&gt;

std::string mac_string(const unsigned char mac[6]) {

  std::ostringstream oss;
  oss &lt;&lt; std::hex &lt;&lt; std::setfill('0') &lt;&lt; std::setw(2);
  for(int i = 0; i &lt; 6; ++i) oss &lt;&lt; int(mac[i]);
  return oss.str();
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1770629</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1770629</guid><dc:creator><![CDATA[DStefan]]></dc:creator><pubDate>Tue, 01 Sep 2009 22:47:18 GMT</pubDate></item><item><title><![CDATA[Reply to u_char array für mysql-query konvertieren? on Wed, 02 Sep 2009 11:02:06 GMT]]></title><description><![CDATA[<p>Hallo DStefan,</p>
<p>habe gerade noch meinen Beitrag editiert: (int).</p>
<p>Bei std::hex bin ich mir nicht sicher, ob der nicht (laut Standard) nur für die nächste Ausgabe gilt? std::setfill und std::setw sollten aber vor der Schleife gehen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1770806</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1770806</guid><dc:creator><![CDATA[Th69]]></dc:creator><pubDate>Wed, 02 Sep 2009 11:02:06 GMT</pubDate></item><item><title><![CDATA[Reply to u_char array für mysql-query konvertieren? on Wed, 02 Sep 2009 12:11:34 GMT]]></title><description><![CDATA[<p>Th69 schrieb:</p>
<blockquote>
<p>Bei std::hex bin ich mir nicht sicher, ob der nicht (laut Standard) nur für die nächste Ausgabe gilt?</p>
</blockquote>
<p>Dann schau doch im Standard nach, oder in der Referenz deiner Wahl <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>
<p><a href="http://www.cplusplus.com/reference/iostream/manipulators/hex/" rel="nofollow">http://www.cplusplus.com/reference/iostream/manipulators/hex/</a> aufmerksam lesen, da stehts (zugegebenermaßen ein wenig zwischen den Zeilen).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1770853</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1770853</guid><dc:creator><![CDATA[pumuckl]]></dc:creator><pubDate>Wed, 02 Sep 2009 12:11:34 GMT</pubDate></item><item><title><![CDATA[Reply to u_char array für mysql-query konvertieren? on Wed, 02 Sep 2009 12:43:56 GMT]]></title><description><![CDATA[<p>Hallo pumuckl,</p>
<p>ich hatte mich auch vertan, ich meinte 'std::setw'.<br />
Und dort (<a href="http://www.cplusplus.com/reference/iostream/manipulators/setw/" rel="nofollow">http://www.cplusplus.com/reference/iostream/manipulators/setw/</a>) steht 'for the next insertion operation'. Also wird die Breite wieder auf den Standardwert zurückgesetzt, oder?</p>
<p>Und zu std::hex habe ich dies aber nicht explizit gefunden (was meinst du mit 'zwischen den Zeilen'?).</p>
<p>Jedoch ist doch generell nichts gegen meinen Source-Code zu sagen (den ich auch einfach so hingeschrieben hatte)?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1770879</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1770879</guid><dc:creator><![CDATA[Th69]]></dc:creator><pubDate>Wed, 02 Sep 2009 12:43:56 GMT</pubDate></item><item><title><![CDATA[Reply to u_char array für mysql-query konvertieren? on Thu, 03 Sep 2009 12:01:29 GMT]]></title><description><![CDATA[<p>Ihr seid super vielen Dank!!! Hab echt lange an dem Problem gefrikelt und dann löst ihr es mit einem 5 Zeiler <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>
<p>Ach ja, die<br />
&quot;oss &lt;&lt; std::hex &lt;&lt; std::setfill('0') &lt;&lt; std::setw(2);&quot; Anweisung muss tatsächlich in die for-Schleife, da setw() nur für die nächste Insertion gilt und dann zurück gesetzt wird.</p>
<p>Also vielen Dank noch mal.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1771499</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1771499</guid><dc:creator><![CDATA[xbeamer]]></dc:creator><pubDate>Thu, 03 Sep 2009 12:01:29 GMT</pubDate></item></channel></rss>