Erstellen Sie ein ganzzahliges Zeichen-Array mit Ziffern als Größe

Ich versuche, ein Zeichen-Array in C zu erstellen, um es mit den Ziffern eines Int zu füllen, aber das Int kann aus einer beliebigen Anzahl von Ziffern bestehen.

Ich benutze eine erstellte Funktion namensgetDigits(int num), das eine Anzahl von Ziffern zurückgibt, die das int hat.

char buffer[getDigits(number)] = "";
snprintf(buffer, sizeof(buffer),"%d",number);

aber wenn ich mit gcc kompiliere, gibt es zurück:

error: variable-sized object may not be initialized

Ich habe alles versucht. Wenn ich es als deklarierechar fileSizeStr[5] = "";, Es klappt. Ich kann sehen, dass das Problem zunimmt, wenn ich versuche, die Puffergröße dynamisch zu deklarieren, aber ich möchte wirklich wissen, ob dies auf eine Art und Weise erreicht werden kann.

Antworten auf die Frage(5)

Ihre Antwort auf die Frage