Archiv verlassen und diese Seite im Standarddesign anzeigen : int Array in einen String wandeln
Hotte Meyer
26.12.2008, 13:27
Hallo Leute,
ich steh im Moment auf der Leitung und habe folgendes Problem: Ich habe ein integer array mit 32 Werten und möchte dieses jetzt in ein einzigen char (string) umwandeln und zwischen jeder Zahl soll ein Punkt eingefügt werden. Das soll folgender Maßen aussehen:
int array[32] = {122 3 4567 ....}
und mein string soll dann so aussehen:
char string[] = {"122.3.4567. "}
Hat vielleicht jemand eine Lösung wie man das programmieren kann?
Bedanke mich schon mal im vorraus für evtl. Antworten.
MfG
Hotte
Du kannst die Integers einzeln in strings umwandeln, und diese strings mit
strcat( dest , src )
zusammenhängen
Hotte Meyer
26.12.2008, 17:47
Danke Robert,
hab nur noch das Problem, dass ich die Integer-Werte nicht nach char konvertieren kann. Der Befehl den ich aus C kenne:" char* itoa ( int zahl, char* string, int radix ); " unterstützt mein Mikrocontroller Compiler nicht und ich weiß auch im Moment nicht wie man es von Hand programmiert. Gibt es denn noch einen andere Befehle ?
MfG
Hotte
Hallo Hotte,
wenn deine Programmiersprache keinen Befehl dazu hat, dann ist es immer noch einfach, das selbst zu programmieren:
Die Integerzahl zerlegst du in Ziffern. Für jede Ziffer nimmst du den Codewert der Ziffer "0" und addierst denn Integerwert der zu verarbeitenden Ziffer. Das ergibt den Charactercode der Ziffer und diese fädelst du einfach zu einem String auf. Das geht in jeder Programmiersprache. In manchen Sprachen muss man allerdings die Typumwandlungen explizit angeben, damit der Compiler keinen Fehler argwöhnt (Pascal u.ä.). In anderen Sprachen kann man das recht direkt hinschreiben, weil der Compiler Vertrauen hat (C u.ä.).
Grüsse,
Vohopri
chientech
27.12.2008, 18:12
@Hotte
Was benutzt du für einen Compiller?
Hast du auch die richtigen includes?
char* itoa ( int zahl, char* string, int radix ); " unterstützt mein Mikrocontroller Compiler nicht und ich weiß auch im Moment nicht wie man es von Hand programmiert.
Das kann ich fast nicht glauben.
Guck mal in die Hilfe deines Compilers und gib als Suchbegriff itoa ein.
Da sollte dann auch drinstehen in welcher lib das Kommando enthalten ist.
Hotte Meyer
28.12.2008, 12:45
Also ich benutze als Compiler eine Version von Keil. Den Befehl strcat( dest , src ) hab ich in der Hilfe gefunden. Nur den anderen Befehl nicht.
MfG
Hotte
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.