<?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[float Funktion an char array übergen]]></title><description><![CDATA[<p>Hi Leute,<br />
ich hab ein Problem. Und zwar hab ich eine float Funktion. Diese Funktion ermittelt mir die Frequenz der CPU. Damit ich die per TextOut ausgeben kann, muss ich die Funktion erst in ein char array umwandeln. Und hier liegt mein Problem! Ich weiss einfach nicht wie ich das machen soll. Wie also &quot;converte&quot; ich eine Funktion in ein char array?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/213382/float-funktion-an-char-array-übergen</link><generator>RSS for Node</generator><lastBuildDate>Sat, 18 Apr 2026 13:30:24 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/213382.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 17 May 2008 10:44:05 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to float Funktion an char array übergen on Sat, 17 May 2008 10:44:05 GMT]]></title><description><![CDATA[<p>Hi Leute,<br />
ich hab ein Problem. Und zwar hab ich eine float Funktion. Diese Funktion ermittelt mir die Frequenz der CPU. Damit ich die per TextOut ausgeben kann, muss ich die Funktion erst in ein char array umwandeln. Und hier liegt mein Problem! Ich weiss einfach nicht wie ich das machen soll. Wie also &quot;converte&quot; ich eine Funktion in ein char array?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1510947</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1510947</guid><dc:creator><![CDATA[WiredCoder]]></dc:creator><pubDate>Sat, 17 May 2008 10:44:05 GMT</pubDate></item><item><title><![CDATA[Reply to float Funktion an char array übergen on Sat, 17 May 2008 11:21:13 GMT]]></title><description><![CDATA[<p>_gcvt(double, int, char*), das ist aber abhängig von der libc, die du benutzt.</p>
<p>Einfacher ist es die geschichte manuell zu machen:<br />
also den wert so oft durch 10 teilen/malnehmen, bis er kleiner al 0,00001/o.ä. ist, und jeweils den wert ausgeben</p>
<p>Das ding hat nur ein problem mit der genauigkeit wg. dem float-&gt;double zeug<br />
(das ließe sich sicher besser machen)</p>
<pre><code class="language-cpp">int convert(float val, int digits, char* arr, int arrlen)
{
    double dbl;
    int digC;

    if(arrlen &lt; 1)
        return EINVAL;
    if(val == 0) {
        strcpy(arr, &quot;0&quot;);
        return 0;
    }
    if(val &lt; 0) {
        arr[0] = '-';
        val = -val;
        arr++; arrlen--;
    }
    // böser trick(1234,56 -&gt; 1,23456) , (digC -&gt; 3)
    for(dbl = val, digC = 0; dbl &gt;= 10; dbl /= 10, digC++);
    while(dbl != 0 &amp;&amp; arrlen) {
        int digit = (int)dbl; // 0-9
        dbl = (dbl - digit) * 10;
        (arr++)[0] = '0' + digit;
        arrlen--;
        if(!digC) {
            (arr++)[0] = ',';
            arrlen--;
            digC = -1;
        } else if(digC == -1) {
            if(!(--digits))
                break;
        } else
            digC--;
    }
    if(arrlen &gt; 0)
        arr[0] = 0; // null-termination
    return 0;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1510959</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1510959</guid><dc:creator><![CDATA[wurstikus]]></dc:creator><pubDate>Sat, 17 May 2008 11:21:13 GMT</pubDate></item><item><title><![CDATA[Reply to float Funktion an char array übergen on Sat, 17 May 2008 11:27:50 GMT]]></title><description><![CDATA[<p>das mit dem 0 am ende ist aber auch ein wnig ein problem man könnte aber folgendes machen:</p>
<p>z5: arrlen--;<br />
- z34</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1510960</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1510960</guid><dc:creator><![CDATA[wurst]]></dc:creator><pubDate>Sat, 17 May 2008 11:27:50 GMT</pubDate></item><item><title><![CDATA[Reply to float Funktion an char array übergen on Sat, 17 May 2008 11:29:00 GMT]]></title><description><![CDATA[<p>oder man benutzt sprintf(arr, &quot;%f&quot;, 1.234f);</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1510961</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1510961</guid><dc:creator><![CDATA[wurst]]></dc:creator><pubDate>Sat, 17 May 2008 11:29:00 GMT</pubDate></item><item><title><![CDATA[Reply to float Funktion an char array übergen on Sat, 17 May 2008 13:51:10 GMT]]></title><description><![CDATA[<p>WiredCoder schrieb:</p>
<blockquote>
<p>Wie also &quot;converte&quot; ich eine Funktion in ein char array?</p>
</blockquote>
<p>wie meinst du das, eine funktion?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1511040</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1511040</guid><dc:creator><![CDATA[&amp;amp;#8203;]]></dc:creator><pubDate>Sat, 17 May 2008 13:51:10 GMT</pubDate></item><item><title><![CDATA[Reply to float Funktion an char array übergen on Sat, 17 May 2008 17:27:15 GMT]]></title><description><![CDATA[<p>Mhm damit ist mir aber nicht geholfen. WIll alles nicht funzen. Ich weiss niht wo das Problem liegt. Ich will die Funktion einfach über Textout ausgeben:</p>
<pre><code class="language-cpp">TextOut(hDC, 50, 50, GetCPUSpeed(),  - 1);
</code></pre>
<p>und hier meine GetCPUSpeed()-Funktion:</p>
<pre><code class="language-cpp">float GetCPUSpeed()
{
    LARGE_INTEGER liFreq, liTicks, liValue;
    UINT64        iTimestamp;
    float         fSpeed;    
    HANDLE        hThread;
    int           iPriority;

    hThread  = GetCurrentThread();
    iPriority = GetThreadPriority(hThread);

    QueryPerformanceFrequency(&amp;liFreq);

    QueryPerformanceCounter(&amp;liTicks);
    liValue.QuadPart = liTicks.QuadPart + liFreq.QuadPart;

    SetThreadPriority(hThread, THREAD_PRIORITY_HIGHEST);

    iTimestamp = rdtsc();

    do 
    {
      QueryPerformanceCounter(&amp;liTicks);
    } while (liTicks.QuadPart &lt;= liValue.QuadPart);

    fSpeed = (float)(int)(rdtsc() - iTimestamp)/ 1000000;
    SetThreadPriority(hThread, iPriority);

    return fSpeed;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1511130</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1511130</guid><dc:creator><![CDATA[WiredCoder]]></dc:creator><pubDate>Sat, 17 May 2008 17:27:15 GMT</pubDate></item><item><title><![CDATA[Reply to float Funktion an char array übergen on Sat, 17 May 2008 17:35:43 GMT]]></title><description><![CDATA[<p>ich verstehe das problem nicht. was ist an</p>
<pre><code class="language-cpp">char[100] buf;
float d;

d = GetCPUSpeed();
sprintf(buf, &quot;%.5f&quot;, d);
TextOut(hDC, 50, 50, buf,  - 1);
</code></pre>
<p>denn so problematisch? :S</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1511133</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1511133</guid><dc:creator><![CDATA[sothis_]]></dc:creator><pubDate>Sat, 17 May 2008 17:35:43 GMT</pubDate></item><item><title><![CDATA[Reply to float Funktion an char array übergen on Sat, 17 May 2008 18:29:44 GMT]]></title><description><![CDATA[<p>Nö funzt ja nicht. Im Fenster kommt jetzt garkein Text mehr -.-</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1511155</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1511155</guid><dc:creator><![CDATA[WiredCoder]]></dc:creator><pubDate>Sat, 17 May 2008 18:29:44 GMT</pubDate></item><item><title><![CDATA[Reply to float Funktion an char array übergen on Sat, 17 May 2008 18:48:20 GMT]]></title><description><![CDATA[<p>dann ist irgendetwas anderes b0rken <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/1511163</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1511163</guid><dc:creator><![CDATA[sothis_]]></dc:creator><pubDate>Sat, 17 May 2008 18:48:20 GMT</pubDate></item><item><title><![CDATA[Reply to float Funktion an char array übergen on Sat, 17 May 2008 19:01:52 GMT]]></title><description><![CDATA[<p>Bau die funktion bei dir ein dann müsste es klappen wichtig nur das dein char array lang genug.</p>
<pre><code class="language-cpp">template &lt;class T1,class T2&gt;
void convert(const T1&amp; input, T2&amp; output)
{
	stringstream ss;
	ss &lt;&lt; input;
	ss &gt;&gt; output;
	if(!ss.eof())
	{
		cout&lt;&lt;&quot; KONVERTIREUNG FEHLGESCHLAGEN&quot;;
	}

}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1511173</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1511173</guid><dc:creator><![CDATA[Matyr]]></dc:creator><pubDate>Sat, 17 May 2008 19:01:52 GMT</pubDate></item></channel></rss>