wie kann ich die Speicherung eines int-array in string
Ich habe ein integer-array:
int a[5]={5,21,456,1,3}
Brauche ich, um zu speichern diese Anzahl in char
array so, dass das char-array haben einige Sache wie diese:
char *s="52145613";
Gibt es eine library-Funktion in c für diese?
- wenn Sie es speichern, wie dies ohne Trennzeichen, werden Sie nicht in der Lage sein, Sie zu interpretieren danach..
sprintf
-->char str[100];sprintf(str,"%d%d%d%d%d",a[0],a[1],a[2],a[3],a[4]);
- Dauerte eine Sekunde, um herauszufinden, dass @CoolGuy hatte die richtige Antwort. Eine Schleife erstellen und beitreten der Saiten, wenn das array variabler Größe.
Du musst angemeldet sein, um einen Kommentar abzugeben.
sprintf
tun, was Sie brauchen.Kleines Beispiel
snprintf
kümmert sich um die str Längesnprintf()
einen negativen Wert zurückgibt, im Fall von Fehlern. Hinzufügen dieses Werts zuindex
wird falsch sein.Was Sie tun müssen, ist die Umwandlung von ganzzahligen Werten in
a
in Charakter-Werte ins
Spielraum für eine null-Endzeichen. In Ihrem Fall insgesamt 9 Zeichen.sprintf
ist das richtige Werkzeug, da die Werte überschreiten, die einzelnen Ziffern:Ausgabe
Versuchte zu gehen für ein lesenswerter Ansatz, obwohl die anderen Antworten sind effizienter in Bezug auf Speicher und Anweisungen.
Getestet hier.
Können Sie die Suche für
sprintf()
/snprintf()
, die können den job zu erledigen für Sie.Aus der man-page,
Hier ist ein anschauliches Programm, das zeigt, wie dies getan werden kann.
Der Ausgabe des Programms ist