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.