<?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[nbcommon.c]]></title><description><![CDATA[<p>Hi,</p>
<p>also ich lerne gerade mithilfe eines buches ( oder möchte es zumindest ) wie man zwischen clienten kommunizieren lässt oder netzwerke aufbaut. und da hab ich das problem das ich eben bei net bios anfange und dort die datei nbcommon.c einbinden soll. hab ich gemacht nur ist es jetzt so das er mir konvertierungsfehler von UCHAR * nach char * bringt. Es gibt jedoch keinerlei unterschied der dateien mit denen im buch beschriebenen :|</p>
<p>ich kompilliere mit devc++ mit mingw.</p>
<p>die fehler sind in den zeilen 68 92 116</p>
<p><a href="http://rafb.net/p/Kvk3cq64.html" rel="nofollow">http://rafb.net/p/Kvk3cq64.html</a> ( die dazugehörige header datei <a href="http://rafb.net/p/k0tLRt40.html" rel="nofollow">http://rafb.net/p/k0tLRt40.html</a> )</p>
<p>wäre echt nett wenn ihr mir dabei helfen könntet.</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/218239/nbcommon-c</link><generator>RSS for Node</generator><lastBuildDate>Fri, 09 Oct 2026 13:21:47 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/218239.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 17 Jul 2008 18:20:59 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to nbcommon.c on Thu, 17 Jul 2008 18:24:14 GMT]]></title><description><![CDATA[<p>Hi,</p>
<p>also ich lerne gerade mithilfe eines buches ( oder möchte es zumindest ) wie man zwischen clienten kommunizieren lässt oder netzwerke aufbaut. und da hab ich das problem das ich eben bei net bios anfange und dort die datei nbcommon.c einbinden soll. hab ich gemacht nur ist es jetzt so das er mir konvertierungsfehler von UCHAR * nach char * bringt. Es gibt jedoch keinerlei unterschied der dateien mit denen im buch beschriebenen :|</p>
<p>ich kompilliere mit devc++ mit mingw.</p>
<p>die fehler sind in den zeilen 68 92 116</p>
<p><a href="http://rafb.net/p/Kvk3cq64.html" rel="nofollow">http://rafb.net/p/Kvk3cq64.html</a> ( die dazugehörige header datei <a href="http://rafb.net/p/k0tLRt40.html" rel="nofollow">http://rafb.net/p/k0tLRt40.html</a> )</p>
<p>wäre echt nett wenn ihr mir dabei helfen könntet.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1549014</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1549014</guid><dc:creator><![CDATA[Schurke]]></dc:creator><pubDate>Thu, 17 Jul 2008 18:24:14 GMT</pubDate></item><item><title><![CDATA[Reply to nbcommon.c on Thu, 17 Jul 2008 19:54:04 GMT]]></title><description><![CDATA[<p>Fehler oder nur Warnungen? Sonst konvertiere doch einfach (Cast).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1549058</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1549058</guid><dc:creator><![CDATA[_matze]]></dc:creator><pubDate>Thu, 17 Jul 2008 19:54:04 GMT</pubDate></item><item><title><![CDATA[Reply to nbcommon.c on Thu, 17 Jul 2008 19:57:49 GMT]]></title><description><![CDATA[<p>Fehler, hab ich versucht. aber dann gibts wieder den fehler:</p>
<p>116 D:\Programme\Dev-Cpp\Projects\TestProj\nbcommon.c invalid conversion from `UCHAR*' to `char*'</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1549060</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1549060</guid><dc:creator><![CDATA[Schurke]]></dc:creator><pubDate>Thu, 17 Jul 2008 19:57:49 GMT</pubDate></item><item><title><![CDATA[Reply to nbcommon.c on Thu, 17 Jul 2008 20:08:35 GMT]]></title><description><![CDATA[<p>Zeig mal den Code.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1549065</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1549065</guid><dc:creator><![CDATA[_matze]]></dc:creator><pubDate>Thu, 17 Jul 2008 20:08:35 GMT</pubDate></item><item><title><![CDATA[Reply to nbcommon.c on Fri, 18 Jul 2008 06:57:01 GMT]]></title><description><![CDATA[<p>Das ganz wird wohl daran scheitern, dass <strong>UCHAR</strong> mutmaßlich ein typedef oder ein Makro auf <strong>unsigned char</strong> ist und dieser einen anderen Wertebereich als (signed) char besitzt. Daher kann nicht sicher implizit gecasted werden.</p>
<p><a href="http://www.cplusplus.com/reference/clibrary/cstring/strncpy.html" rel="nofollow">http://www.cplusplus.com/reference/clibrary/cstring/strncpy.html</a> gibt folgende Signatur für <strong>strncpy</strong> vor:</p>
<pre><code class="language-cpp">char * strncpy ( char * destination, const char * source, size_t num );
</code></pre>
<p>Wobei diese ein definiertes Verhalten hat, was die Behandlung von null-Bytes angeht (!).</p>
<p>Wie matze_ schon erwähnt hat, solltest du einen UCHAR explizit in einen char casten, um diesen mit strncpy zu verwenden:</p>
<pre><code class="language-cpp">unsigned char foo[] = { 250, 126, 255 };
char bar[3];
strncpy(bar, reinterpret_cast&lt;char*&gt;(foo), 3);
</code></pre>
<p>Bedenke aber, dass dir das ganze um die Ohren fliegen kann, sobald du den Wertebereich von char (-127 bis 127) verlässt (Bsp: 250 und 255).</p>
<p>Ggf. kannst du dir auch eine eigene (template)Kopierfunktion für Arrays basteln - sicher gibts dort bereits Standardimplementationen.</p>
<p>Grüße... Heiko</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1549153</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1549153</guid><dc:creator><![CDATA[bwbg]]></dc:creator><pubDate>Fri, 18 Jul 2008 06:57:01 GMT</pubDate></item></channel></rss>