Verwandeln Sie ein Integer-array in einen string
Funktion gibt ein aray von ganzen zahlen, und ich will es weitergeben an eine andere Funktion, die sucht für einige Muster. Aber die zweite Funktion erwartet einen string.
Beispiel:
int IArray = {1, 2, 3};
//should be coverted into "123"
Gibt es eine direkte Funktion zur Verfügung? Wenn nicht, wie konvertiere ich das Integer-array in einen string?
- Sieht aus wie eine Hausaufgabe. Es gibt keine "direkte Funktion". Sie müssen Ihre eigenen schreiben. Zeig uns deinen code, so weit für einige Konstruktive feedback.
- Nein gibt es nicht, und wenn es war, würde es vermutlich nicht tun, was Sie wollen (das ist nicht klar). Im Grunde, können Sie nicht konvertiert ein Integer-array der Werte in ein array von Zeichen.
- die Menge an text benötigen, zu schreiben, wie eine Funktion, ist wahrscheinlich weniger als die Menge an text, die Sie in Frage 😉
- Beginnen Sie mit "konvertieren von einem integer in Strings", und fügen Sie die strings zusammen...
- Zu viele wichtige Informationen fehlen: 1) ist das array compile-Zeit, Größe oder Laufzeit-Größe, 2) sind alle zahlen garantiert einstelligen oder nicht?
- array compile-Zeit und die zahlen repräsentieren den Prozentsatz in ganze Zahl, so wird [1,100].
- Also
int IArray = {12, 3};
umgewandelt werden soll, um"123"
(wie für die{1, 2, 3}
)?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Gibt es keine direkte Funktion, das zu tun.
Müssen Sie sprintf.
sprintf
überhaupt.Gibt es nichts in der C-stdlib, um dies zu tun, aber es ist nicht schwer zu schreiben die string-Manipulationen:
Beispiel:
KEIN
meisten c und c++ - Compiler unterstützen
itoa
Funktion wandelt einen int in einen char* verwenden, oder Sie können sprintf, dies zu tun. Die nächste Sache ist die Verkettung von Zeichenfolgen zu einer einzelnen Zeichenfolge, die Sie verwenden können,strcat
. Folgen Sie den links finden Sie Beispiele für diese beiden Funktionen.Wenn Ihr
IArray
variable enthält ganzzahlige Werte im Bereich [0,9], dann können Sie etwas tun, wie diese (pseudocode):In C, es ist garantiert, dass
'0'
,'1'
, ...,'9'
haben aufeinander folgende ganzzahlige Werte.Wenn dieses nicht ist, was Sie wollen, müssen Sie definieren Ihr problem deutlicher.
Nicht C!
Meinst du;
int IArray[3] = {1, 2, 3};
Könnten Sie dies tun...
...aber ich würde wenn ich du wäre 🙂