Strings by ref als Funktionsparameter Kategorie: Programmierung C (von Wolfgang - 4.02.2009 21:11) | ||
| ||
Hallo, ich möchte in einen bestehenden String den Wert eines Integers in HEX-Darstellung einfügen. Beispielsweise kann der String lauten "Messwert: $.... HEX" und die word Variable Messwert enthält den (dezimalen) Wert 3456. Dann will ich bekommen "Messwert: $0D80 HEX". Habe dazu ein Prozedur geschrieben, die das Einfügen der 4 Hex-Ziffern übernehmen soll: void IntToHex(word Wert, char Ziel[], word Offset) { int hilf; hilf = Wert & 0x000F; Ziel[Offset+3] = (hilf<10)? '0' + hilf : 55 + hilf; // 55 = 'A'-10 hilf = Wert>>4 & 0x000F; Ziel[Offset+2] = (hilf<10)? '0' + hilf : 55 + hilf; hilf = Wert>>8 & 0x000F; Ziel[Offset+1] = (hilf<10)? '0' + hilf : 55 + hilf; hilf = Wert>>12 & 0x000F; Ziel[Offset] = (hilf<10)? '0' + hilf : 55 + hilf; } und wollte die aus dem Hauptprogramm folgendermassen rufen: void main(void) { word Messwert; char Text[50]; Text = "Messwert: $.... HEX"; Messwert = 3456; IntToHex(Messwert, Text, 11); } Das Programm lässt sich fehlerfrei kompilieren, aber der Probelauf bricht ab mit der Meldung "Array Index zu gross bei Adresse 25399 in Thread 0 " Was ist falsch? | ||
Antwort schreiben Antworten: Re: Strings by ref als Funktionsparameter (von PeterS - 5.02.2009 8:39) Re: Strings by ref als Funktionsparameter (von Wolfgang - 5.02.2009 11:11) Re: Strings by ref als Funktionsparameter (von PeterS - 5.02.2009 16:57) Re: Strings by ref als Funktionsparameter (von Wolfgang - 7.02.2009 12:57) |
Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - Zum C-Control-I-Forum - Zum C-Control-II-Forum