<?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[Zahl in einen c-string schreiben, OHNE CRT-Funktionen]]></title><description><![CDATA[<p>Hallo wie kann ich beispielsweise eine Zahl in einer long-Variable in einen C-String schreiben, ohne dabei auf stringstreams, oder irgendwelche anderen 'fertigen-Funktionen/Klassen' zurückzugreifen ?</p>
<p>Also Beispiel:</p>
<pre><code class="language-cpp">char szZahlAlsString[50];
long lWert = 12325465821;
// szZahlAlsString soll lWert enthalten!
</code></pre>
<p>Ich danke schon mal den später Helfenden <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>
<p>:xmas1:</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/166866/zahl-in-einen-c-string-schreiben-ohne-crt-funktionen</link><generator>RSS for Node</generator><lastBuildDate>Tue, 15 Sep 2026 18:15:21 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/166866.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 03 Dec 2006 22:48:12 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Zahl in einen c-string schreiben, OHNE CRT-Funktionen on Sun, 03 Dec 2006 22:48:12 GMT]]></title><description><![CDATA[<p>Hallo wie kann ich beispielsweise eine Zahl in einer long-Variable in einen C-String schreiben, ohne dabei auf stringstreams, oder irgendwelche anderen 'fertigen-Funktionen/Klassen' zurückzugreifen ?</p>
<p>Also Beispiel:</p>
<pre><code class="language-cpp">char szZahlAlsString[50];
long lWert = 12325465821;
// szZahlAlsString soll lWert enthalten!
</code></pre>
<p>Ich danke schon mal den später Helfenden <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>
<p>:xmas1:</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1186525</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1186525</guid><dc:creator><![CDATA[STRING]]></dc:creator><pubDate>Sun, 03 Dec 2006 22:48:12 GMT</pubDate></item><item><title><![CDATA[Reply to Zahl in einen c-string schreiben, OHNE CRT-Funktionen on Sun, 03 Dec 2006 22:50:18 GMT]]></title><description><![CDATA[<p>Naja, musst Dir halt jede einzelne Stelle ausrechen, indem Du forwaehrend durch 10 teilst / den Rest bestimmst. Und das dann halt jeweils im String speichern.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1186527</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1186527</guid><dc:creator><![CDATA[SG1]]></dc:creator><pubDate>Sun, 03 Dec 2006 22:50:18 GMT</pubDate></item><item><title><![CDATA[Reply to Zahl in einen c-string schreiben, OHNE CRT-Funktionen on Sun, 03 Dec 2006 23:07:23 GMT]]></title><description><![CDATA[<p>So zum Beispiel:</p>
<pre><code class="language-cpp">char* toString( char* dst, long x )
{
    if( x &lt; 0 )
    {
        *dst++ = '-';
        x = -x;
    }
    const long z = x / 10;
    if( z &gt; 0 )
        dst = toString( dst, z );
    *dst =  '0' + char(x % 10);
    return ++dst;
}

int main()
{
    char szZahlAlsString[50];
    long lWert = 123254658; // 12325465821 ist zu groß für einen 32bit-long-Wert
    toString( szZahlAlsString, lWert ); 
    return 0;
}
</code></pre>
<p>Ist aber nicht zu empfehlen, besser ist es std::ostringstream zu benutzen. Die Funktion toString hat keinen Check auf Überlauf von 'dst'. Beachte bitte auch, dass 'toString' keine '\0' an's String-Ende schreibt. Das kannst Du aber leicht mit</p>
<pre><code class="language-cpp">*toString( szZahlAlsString, lWert ) = char(0); // String-Ende anfügen
</code></pre>
<p>nachholen.</p>
<p>Gruß<br />
Werner</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1186531</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1186531</guid><dc:creator><![CDATA[Werner Salomon]]></dc:creator><pubDate>Sun, 03 Dec 2006 23:07:23 GMT</pubDate></item><item><title><![CDATA[Reply to Zahl in einen c-string schreiben, OHNE CRT-Funktionen on Mon, 04 Dec 2006 14:53:02 GMT]]></title><description><![CDATA[<p>Jops danke euch, hab ich. Und wie mach ich das bei Gleitkommazahlen (-&gt; double) ?</p>
<p>Thx schonmal!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1186949</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1186949</guid><dc:creator><![CDATA[STRING]]></dc:creator><pubDate>Mon, 04 Dec 2006 14:53:02 GMT</pubDate></item><item><title><![CDATA[Reply to Zahl in einen c-string schreiben, OHNE CRT-Funktionen on Tue, 05 Dec 2006 07:18:16 GMT]]></title><description><![CDATA[<p>Du zerlegst sie in den Vor- und Nachkomma-Anteil. Den Vorkomma-Anteil kannst du wie int behandeln, dann setzt du ein Komma und gibst die Nachkomma-Stellen einzeln aus:</p>
<pre><code class="language-cpp">for(i=0;i&lt;precision;++i)
{
  nachkomma*=10;
  *dst = '0' + char(nachkomma);
  ++dst;
}
</code></pre>
<p>(für wissensachftliche Darstellung mußt du erst durch 10^x dividieren und am Ende &quot;Ex&quot; anhängen)</p>
<p>PS: Darf man fragen, was du gegen die Standard-Funktionen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1187193</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1187193</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Tue, 05 Dec 2006 07:18:16 GMT</pubDate></item><item><title><![CDATA[Reply to Zahl in einen c-string schreiben, OHNE CRT-Funktionen on Tue, 05 Dec 2006 15:26:35 GMT]]></title><description><![CDATA[<p>CStoll schrieb:</p>
<blockquote>
<p>Du zerlegst sie in den Vor- und Nachkomma-Anteil.</p>
</blockquote>
<p>Schon klar, aber wie ?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1187371</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1187371</guid><dc:creator><![CDATA[STRING]]></dc:creator><pubDate>Tue, 05 Dec 2006 15:26:35 GMT</pubDate></item><item><title><![CDATA[Reply to Zahl in einen c-string schreiben, OHNE CRT-Funktionen on Tue, 05 Dec 2006 15:30:55 GMT]]></title><description><![CDATA[<p>CStoll schrieb:</p>
<blockquote>
<p>PS: Darf man fragen, was du gegen die Standard-Funktionen?</p>
</blockquote>
<p>Vielleicht steht in den Hausaufgaben, dass man die nicht benutzen darf, um das Problem zu lösen <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /> <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/1187373</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1187373</guid><dc:creator><![CDATA[GPC]]></dc:creator><pubDate>Tue, 05 Dec 2006 15:30:55 GMT</pubDate></item><item><title><![CDATA[Reply to Zahl in einen c-string schreiben, OHNE CRT-Funktionen on Tue, 05 Dec 2006 15:33:19 GMT]]></title><description><![CDATA[<p>Uji, hab Deine Frage übersehen:<br />
Nein, also ehrlich gesagt will ichs nur aus Interesse wissen, außerdem dürften doch selbstgecodete Fkt's möglichweise schneller sein :p</p>
<p>Also Ideen ? <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/1187375</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1187375</guid><dc:creator><![CDATA[STRING]]></dc:creator><pubDate>Tue, 05 Dec 2006 15:33:19 GMT</pubDate></item><item><title><![CDATA[Reply to Zahl in einen c-string schreiben, OHNE CRT-Funktionen on Tue, 05 Dec 2006 15:41:31 GMT]]></title><description><![CDATA[<p>STRING schrieb:</p>
<blockquote>
<p>... außerdem dürften doch selbstgecodete Fkt's möglichweise schneller sein :p</p>
</blockquote>
<p>Nö ... nach meiner Erfahrung sind sie meistens langsamer und habe mehr Fehler. Vorausgesetzt es handelt sich um die <em>selbe</em> Funktionalität. Haben sie weniger, so können sie schneller sein - wir hatten doch neulich mal so'n Thread über C- und C++-IO. Die Fehler bleiben.</p>
<p>Gruß Werner :xmas2:</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1187378</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1187378</guid><dc:creator><![CDATA[Werner Salomon]]></dc:creator><pubDate>Tue, 05 Dec 2006 15:41:31 GMT</pubDate></item><item><title><![CDATA[Reply to Zahl in einen c-string schreiben, OHNE CRT-Funktionen on Tue, 05 Dec 2006 15:53:22 GMT]]></title><description><![CDATA[<p>Habt ihr trotzdem eine Lösung für mich ? *bitte*</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1187397</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1187397</guid><dc:creator><![CDATA[STRING]]></dc:creator><pubDate>Tue, 05 Dec 2006 15:53:22 GMT</pubDate></item><item><title><![CDATA[Reply to Zahl in einen c-string schreiben, OHNE CRT-Funktionen on Tue, 05 Dec 2006 16:41:08 GMT]]></title><description><![CDATA[<p>guckst du: <a href="http://www.mikrocontroller.net/attachment/3488/Outvals.c51" rel="nofollow">http://www.mikrocontroller.net/attachment/3488/Outvals.c51</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1187443</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1187443</guid><dc:creator><![CDATA[net 0]]></dc:creator><pubDate>Tue, 05 Dec 2006 16:41:08 GMT</pubDate></item><item><title><![CDATA[Reply to Zahl in einen c-string schreiben, OHNE CRT-Funktionen on Tue, 05 Dec 2006 21:45:55 GMT]]></title><description><![CDATA[<p>Danke für den Link, aber irgendwie funktioniert dieser Code überhaupt nicht und ich versteh auch irgendwie nicht ganz, was da gemacht wird. Könntest Du mit vielleicht eine kleine Beispielfunktion schreiben ? -Vieln Dank schonmal!!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1187591</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1187591</guid><dc:creator><![CDATA[STRING]]></dc:creator><pubDate>Tue, 05 Dec 2006 21:45:55 GMT</pubDate></item><item><title><![CDATA[Reply to Zahl in einen c-string schreiben, OHNE CRT-Funktionen on Tue, 05 Dec 2006 21:56:16 GMT]]></title><description><![CDATA[<pre><code>#include &lt;stdio.h&gt;

#define uchar unsigned char
#define uint unsigned int
#define code
#define bit char
#define DIGITS 6

void outint( int val )
{
  uint code TEST[] = { 10, 100, 1000, 10000 };
  uchar d, i;
  bit zero;
  uint uval = val;

  if( val &lt; 0 ){
    uval = -val;
    putchar( '-' );
  }

  zero = 1;
  i = 4;
  do{
    i--;
    for( d = '0'; uval &gt;= TEST[i]; uval -= TEST[i] ){
      d++;
      zero = 0;
    }
    if( zero == 0 )
      putchar( d );
  }while( i );

  putchar( (uchar)uval + '0' );
}

void outfloat( float val )
{
  char ep, dp, i, num;

  if( val &lt; 0 ){
    val = -val;
    putchar( '-' );
  }
  ep = 0;
  if( val != 0 ){
    if( val &lt; 1 ){
      val *= 1000;
      ep = -3;
    }

    if( val &gt;= 1000 ){
      val *= 0.001;
      ep = 3;
    }
  }

  for( dp = 1; val &gt;= 10; val *= 0.1 )		// normalize (x.xxx)
    dp ++;

  for( i = DIGITS;; ){				// n digits
    putchar( (num = val) + '0' );		// get digit
    if( --i == 0 )
      break;
    if( --dp == 0 )				// set decimal point
      putchar( '.' );
    val = (val - num) * 10;			// next digit
  }
  if( ep ){
    putchar( 'e' );
    outint( ep );
  }
}

void main()
{
    outfloat (0.1345);
    putchar ('\n');
    outfloat (99.998);
    putchar ('\n');
}
</code></pre>
<p>...musst nur noch statt 'putchar' aufzurufen in ein array schreiben <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="🙂"
    /> :xmas2:</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1187594</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1187594</guid><dc:creator><![CDATA[net 0]]></dc:creator><pubDate>Tue, 05 Dec 2006 21:56:16 GMT</pubDate></item><item><title><![CDATA[Reply to Zahl in einen c-string schreiben, OHNE CRT-Funktionen on Tue, 05 Dec 2006 22:05:33 GMT]]></title><description><![CDATA[<p>yuck - stdio.h<br />
yuck - #define<br />
yuck - void main</p>
<p>schon mal was von Division gehört? Der Teil für floats ist auch nicht gerade sonderlich genau (für eine Ausgabefunktion ist das fatal!). Die Techniken, die hier benutzt werden um gewissen Beschränkungen der Zielplattform gerecht zu werden, sind für eine Demonstration eher nicht geeignet.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1187600</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1187600</guid><dc:creator><![CDATA[camper]]></dc:creator><pubDate>Tue, 05 Dec 2006 22:05:33 GMT</pubDate></item><item><title><![CDATA[Reply to Zahl in einen c-string schreiben, OHNE CRT-Funktionen on Tue, 05 Dec 2006 22:07:15 GMT]]></title><description><![CDATA[<p>camper schrieb:</p>
<blockquote>
<p>schon mal was von Division gehört? Der Teil für floats ist auch nicht gerade sonderlich genau. Die Techniken, die hier benutzt werden um gewissen Beschränkungen der Zielplattform gerecht zu werden, sind für eine Demonstration eher nicht geeignet.</p>
</blockquote>
<p>hey, das ist nicht von mir. ich hab's nur kopiert und die demonstration zeigt wie man's benutzen kann. dass die funktionen noch stark verbesserungswürdig sind, hab' ich auch schon vermutet..<br />
:xmas2:</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1187603</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1187603</guid><dc:creator><![CDATA[net 0]]></dc:creator><pubDate>Tue, 05 Dec 2006 22:07:15 GMT</pubDate></item><item><title><![CDATA[Reply to Zahl in einen c-string schreiben, OHNE CRT-Funktionen on Tue, 05 Dec 2006 22:07:30 GMT]]></title><description><![CDATA[<p>Hm ok, der Code läuft! Danke!</p>
<p>Allerdings gibt es das mit diesem e ... aus, ich brauch aber NUR Kommazahlen, also komplett ohne 'e'^^, wie kann ich das realisieren ?</p>
<p>und Danke nochmal!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1187604</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1187604</guid><dc:creator><![CDATA[STRING]]></dc:creator><pubDate>Tue, 05 Dec 2006 22:07:30 GMT</pubDate></item><item><title><![CDATA[Reply to Zahl in einen c-string schreiben, OHNE CRT-Funktionen on Tue, 05 Dec 2006 22:10:41 GMT]]></title><description><![CDATA[<p>net schrieb:</p>
<blockquote>
<p>hey, das ist nicht von mir. ich hab's nur kopiert</p>
</blockquote>
<p>So ganz ohne Kommentar machst du es dir aber schon zu eigen. Jedenfalls bezog sich meine Kritik auf den Code an sich, wenn du dich angesprochen fühlst, muss das wohl schlechtes Gewissen sein <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/1187606</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1187606</guid><dc:creator><![CDATA[camper]]></dc:creator><pubDate>Tue, 05 Dec 2006 22:10:41 GMT</pubDate></item><item><title><![CDATA[Reply to Zahl in einen c-string schreiben, OHNE CRT-Funktionen on Wed, 06 Dec 2006 08:54:25 GMT]]></title><description><![CDATA[<p>STRING schrieb:</p>
<blockquote>
<p>Allerdings gibt es das mit diesem e ... aus, ich brauch aber NUR Kommazahlen, also komplett ohne 'e'^^, wie kann ich das realisieren ?</p>
</blockquote>
<p>guck dir mal die funktion an (wofür ist 'ep' z.b. da) und versuch die zu verstehen. vielleicht reichts auch, wenn du DIGITS vergrösserst. etwas mehr eigeninitiative bitte <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>
<p>camper schrieb:</p>
<blockquote>
<p>So ganz ohne Kommentar machst du es dir aber schon zu eigen. Jedenfalls bezog sich meine Kritik auf den Code an sich, wenn du dich angesprochen fühlst, muss das wohl schlechtes Gewissen sein <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>ich hab' doch den link gepostet, daran sieht man dass nicht von mir ist (ich würde niemals die {} so übel setzen). ach, mist, jetzt verfalle ich wieder in den rechtfertigungs-modus <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/1187712</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1187712</guid><dc:creator><![CDATA[net 0]]></dc:creator><pubDate>Wed, 06 Dec 2006 08:54:25 GMT</pubDate></item></channel></rss>