2012-04-15 9 views
10

Wenn ich versuche, die Funktion itoa(), ich die Warnung erhalten:implizite Deklaration der Funktion itoa ist ungültig in c99

implizite Deklaration der Funktion ist ungültig in c99.

Ich habe stdlib.h auf meiner Kopfzeile enthalten. Ich versuche diese Funktion innerhalb einer Funktion aufzurufen, ich bin mir nicht sicher, ob dies erlaubt ist.

+0

@maxflow: Wo haben Sie 'itoa' deklariert? –

+0

@CharlesBailey Ich habe versucht, Itoa sowohl im Haupt-und innerhalb einer Funktion zu deklarieren und ich bekomme den gleichen Fehler. – maxflow

+0

Solange Sie es vor der Verwendung deklarieren, sollten Sie den von Ihnen geposteten Fehler nicht erhalten. Bitte Postleitzahl eingeben. –

Antwort

11

Das Problem ist, dass itoa() keine Standardfunktion ist.

Sie sollten einen Blick auf this link nehmen, die Ihnen einige alternative Implementierungen

+0

Sein Problem ist, dass Itoa für den Linker verfügbar ist, aber es gibt keine c-Definition dafür. Deklaration von char * itoa (int, char *, int); sollte das Problem lösen. – waynix

2

Eine Alternative, die an Ort und Stelle wird allgemein von itoasprintf/snprintf verwendet gibt. Diese sind Teil von stdio.h.