<?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[unsigned char[] und string]]></title><description><![CDATA[<p>Moin.<br />
nun versuche ich es seit tagen zu verstehen und zu lösen.. es klappt nicht:<br />
ich habe</p>
<pre><code class="language-cpp">unsigned char buffer[255];
string neuerWert = &quot;irgendwas&quot;;     // 
int start, laenge;
//  code
void schreibeRein ( neuerWert, start,laenge){
        // falls zu kurz
        while ( neuerWert.size() &lt; laenge){
                neuerWert += &quot; &quot;;
        }
        //falls zu lang
        if( neuerWert.size() &gt; laenge){
                neuerWert = neuerWert.substr(0,laenge);
        }

        // string in den Buffer schreiben 
        :D und genau hier komme ich nicht weiter  :D
</code></pre>
<p>Wäre schön, wenn mir jemand erklären könnte , wie ich das machen kann.<br />
Ich habe schon mit substr und casts versucht, war nie das richtige dabei<br />
beim googlen habe ich nichts gefunden oder es übersehen.<br />
Herzlichen Dank Hanns</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/118867/unsigned-char-und-string</link><generator>RSS for Node</generator><lastBuildDate>Fri, 21 Aug 2026 17:04:23 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/118867.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 25 Aug 2005 08:56:06 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to unsigned char[] und string on Thu, 25 Aug 2005 08:56:06 GMT]]></title><description><![CDATA[<p>Moin.<br />
nun versuche ich es seit tagen zu verstehen und zu lösen.. es klappt nicht:<br />
ich habe</p>
<pre><code class="language-cpp">unsigned char buffer[255];
string neuerWert = &quot;irgendwas&quot;;     // 
int start, laenge;
//  code
void schreibeRein ( neuerWert, start,laenge){
        // falls zu kurz
        while ( neuerWert.size() &lt; laenge){
                neuerWert += &quot; &quot;;
        }
        //falls zu lang
        if( neuerWert.size() &gt; laenge){
                neuerWert = neuerWert.substr(0,laenge);
        }

        // string in den Buffer schreiben 
        :D und genau hier komme ich nicht weiter  :D
</code></pre>
<p>Wäre schön, wenn mir jemand erklären könnte , wie ich das machen kann.<br />
Ich habe schon mit substr und casts versucht, war nie das richtige dabei<br />
beim googlen habe ich nichts gefunden oder es übersehen.<br />
Herzlichen Dank Hanns</p>
]]></description><link>https://www.c-plusplus.net/forum/post/858062</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/858062</guid><dc:creator><![CDATA[HannsW]]></dc:creator><pubDate>Thu, 25 Aug 2005 08:56:06 GMT</pubDate></item><item><title><![CDATA[Reply to unsigned char[] und string on Thu, 25 Aug 2005 09:08:19 GMT]]></title><description><![CDATA[<pre><code>neuerWert.c_str()
</code></pre>
<p>macht dir ein c-String draus und mit</p>
<pre><code>memcopy(...)
</code></pre>
<p>(evtl. auch mit</p>
<pre><code>strcpy(...)
</code></pre>
<p>kanst du das ganze in den buffer schieben.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/858073</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/858073</guid><dc:creator><![CDATA[FMeise]]></dc:creator><pubDate>Thu, 25 Aug 2005 09:08:19 GMT</pubDate></item><item><title><![CDATA[Reply to unsigned char[] und string on Thu, 25 Aug 2005 10:09:25 GMT]]></title><description><![CDATA[<p>HiFmeise,<br />
die beiden *copy beginnen aber am Anfang des buffers.<br />
Ich muss aber irgendwo in der Mitte anfangen.<br />
Ich raffe es dennoch nicht<br />
<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>
]]></description><link>https://www.c-plusplus.net/forum/post/858106</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/858106</guid><dc:creator><![CDATA[HannsW]]></dc:creator><pubDate>Thu, 25 Aug 2005 10:09:25 GMT</pubDate></item><item><title><![CDATA[Reply to unsigned char[] und string on Thu, 25 Aug 2005 11:04:36 GMT]]></title><description><![CDATA[<p>Du kannst deinen buffer an jeder beliebigen Stelle in den *copy funtionen übergeben, z.B.</p>
<pre><code>memcpy(&amp;buffer[3], ...)
</code></pre>
<p>. Schau dir evtl. auch strncpy an.</p>
<p>Wenn du den buffer allerdings später als string verwenden willst, pass auf, dass du das ganze mit '\0' abschließt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/858147</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/858147</guid><dc:creator><![CDATA[FMeise]]></dc:creator><pubDate>Thu, 25 Aug 2005 11:04:36 GMT</pubDate></item><item><title><![CDATA[Reply to unsigned char[] und string on Thu, 25 Aug 2005 11:09:48 GMT]]></title><description><![CDATA[<p>JUHU,<br />
ich habs gefressen.<br />
Danke <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="🙂"
    /> <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/858157</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/858157</guid><dc:creator><![CDATA[HannsW]]></dc:creator><pubDate>Thu, 25 Aug 2005 11:09:48 GMT</pubDate></item><item><title><![CDATA[Reply to unsigned char[] und string on Thu, 25 Aug 2005 11:18:22 GMT]]></title><description><![CDATA[<pre><code>int main(int args, char** argv)
{
	const int LENGTH = 10;
	char buffer[LENGTH] = {'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', '\0'};

	std::cout &lt;&lt; &quot;buffer: &quot; &lt;&lt; buffer &lt;&lt; std::endl;

	std::string s(&quot;ABC&quot;);
	int start = 2;
	int length = 5;

	while (s.size() &lt; length) s += &quot; &quot;;	
	memcpy(&amp;buffer[start-1], s.c_str(), length);

	std::cout &lt;&lt; &quot;buffer: &quot; &lt;&lt; buffer &lt;&lt; std::endl;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/858177</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/858177</guid><dc:creator><![CDATA[FMeise]]></dc:creator><pubDate>Thu, 25 Aug 2005 11:18:22 GMT</pubDate></item><item><title><![CDATA[Reply to unsigned char[] und string on Thu, 25 Aug 2005 14:39:23 GMT]]></title><description><![CDATA[<p>FMeise schrieb:</p>
<blockquote>
<pre><code>int main(int args, char** argv)
{
	const int LENGTH = 10;
	char buffer[LENGTH] = {'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', '\0'};

	std::cout &lt;&lt; &quot;buffer: &quot; &lt;&lt; buffer &lt;&lt; std::endl;

	std::string s(&quot;ABC&quot;);
	int start = 2;

	int length = 5;

	while (s.size() &lt; length) s += &quot; &quot;;	

	memcpy(&amp;buffer[start-1], s.c_str(), length);
	
	std::cout &lt;&lt; &quot;buffer: &quot; &lt;&lt; buffer &lt;&lt; std::endl;
}
</code></pre>
</blockquote>
<p>Ja danke, so hat es auch bei mir geklapptm nur dass ich <em>start</em> bei 0 beginnen lasse, und mir noch ne Prüfung eingebaut habe, ob der String zu lang ist.</p>
<p>Nochmals vielen Dank, meine Zahnschmerzen sind vorbei.<br />
Hanns</p>
]]></description><link>https://www.c-plusplus.net/forum/post/858413</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/858413</guid><dc:creator><![CDATA[HannsW]]></dc:creator><pubDate>Thu, 25 Aug 2005 14:39:23 GMT</pubDate></item></channel></rss>