Re: Strings by ref als Funktionsparameter Kategorie: Programmierung C (von PeterS - 5.02.2009 8:39) | |
Als Antwort auf Strings by ref als Funktionsparameter 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? Ist es möglich, das Du nicht die aktuelle Beta, sondern eine ältere Beta Version benutzt? In Version 1.99.2 ist der Bug eigentlich behoben. Gruss Peter > > | |
Antwort schreiben Antworten: 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