Marc Santhoff wrote:
> Gibt es in FreeBSD nirgends eine Funktion
>
> char* itoa(int)
>
> oder so? (etwa "itoa(int, char[])")
Nein, es gibt keine standardisierte Funktion mit diesem
Namen. Es gibt atoi(), die das Umgekehrte macht, aber
diese ist aus verschiedenen Gründen obsolete und sollte
nicht mehr verwendet werden (stattdessen strtol() & Co.).
Was spricht gegen sprintf(), snprintf() und asprintf()?
> Bisher habe ich - wenn ich denn mal C schreibe - immer "fprintf()" und
> Konsorten benutzt, aber nun brauche ich einen "char*" auf eine
> Zeichenkette, die einen Zahlenwert repräsentiert, den ich reingegeben
> habe.
Vollständiges Beispiel (nicht getestet):
#include <stdio.h>
#include <stdlib.h>
#include <err.h>
int
main (void)
{
char *mystring;
int myint;
myint = 42;
if (asprintf(&mystring, "%d", myint) < 0)
err (EXIT_FAILURE, NULL);
printf ("%s\n", mystring);
free (mystring);
return 0;
}
Man merkt, dass C keine Hochsprache ist ... Das zufällig
generierte Zitat in meiner .sig unten passt wie die Faust
aufs Auge.
> Ich kann es selbst schreiben, aber sowas muß es doch fertig geben, oder?
Es gibt fast alles schon fertig. :)
Gruß
Olli
-- Oliver Fromme, secnetix GmbH & Co. KG, Marktplatz 29, 85567 Grafing b. M. Handelsregister: Registergericht Muenchen, HRA 74606, Geschäftsfuehrung: secnetix Verwaltungsgesellsch. mbH, Handelsregister: Registergericht Mün- chen, HRB 125758, Geschäftsführer: Maik Bachmann, Olaf Erb, Ralf Gebhart FreeBSD-Dienstleistungen, -Produkte und mehr: http://www.secnetix.de/bsd "C is quirky, flawed, and an enormous success." -- Dennis M. Ritchie. To Unsubscribe: send mail to majordomo(at)de.FreeBSD.org with "unsubscribe de-bsd-questions" in the body of the messageReceived on Mon 15 Dec 2008 - 11:05:27 CET