Hoffentlich liegt das Ziel auch am Weg
..................................................................Der Wegzu einigen meiner Konstruktionen
Danke Searcher!.... das ich da nicht drauf gekommen bin...die einfachste Lösung...ja so ist es , wenn man sich mal festgefahren hat...
Gruss
Gerhard
Edit:
Dank der "Probleme" konnte ich meine LCD-Routinen um eine weitere ergänzen:
So haben Probleme auch noch was Gutes an sich...Code:void LCD_Write_Buff(char Buffer[]) { int x; int len; len = strlen( Buffer); for(x=0; x<= len;x++) { if(Buffer[x]==0) return; else Lcd_Write_Char(Buffer[x]); } }![]()
Geändert von oderlachs (13.02.2019 um 10:02 Uhr) Grund: Nachtrag
Arduinos, STK-500(AVR), EasyPIC-40, PICKIT 3 & MPLABX-IDE , Linux Mint
deine Schleife ist irgendwie nicht richtig
strlen kann auch 0 zurück geben und dann knallt es in deiner Schleife weil er das erste Zeichen ausgeben will obwohl da keines ist
und wenn dein index = strlen erreicht rettet dich bestenfalls ein natürlich angehängter "0"-Terminator vor einem Pufferüberlauf
ich würde es eher mit x < len statt <= versuchen
Wen du ein Strign der größe 5 mit "12345" hast (also kein 0 Terminator) zum Beispiel, so würdest du dir auch dein if(Buffer[x]==0) sparen können, denn strlen sucht immer nach der letzten 0 und liefert die länge ohne Terminator zurück
Es gibt 10 Sorten von Menschen: Die einen können binär zählen, die anderen
nicht.
Danke Ceos !
Muss ich mal überdenken, ...man ist ja lernwillig, .....stimmt das "if(Buffer[x]==0) " ist eigentlich hier überflüssig....
Arduinos, STK-500(AVR), EasyPIC-40, PICKIT 3 & MPLABX-IDE , Linux Mint
Lesezeichen