hallo ich habe ein Buffer so deklariert: char Buffer[3][50], danach auch dem Display anzeigen lassen. Buffer[0][] Buffer[1][] Buffer[2][] wie kann ich die buffer leerer damit ich nicht nochmal den gleichen alten Inhalt angezeigt bekomme? danke
Buffer[0][0] = "\0"; Buffer[1][0] = "\0"; Buffer[2][0] = "\0"; Dann muß deine Anzeigenausgaberoutine nur "\0" als Stringende erkennen und die Ausgabe abbrechen. Also erst nachgucken, ob was anderes als "\0" ausgegeben werden soll und das gegebenenfalls ausgeben.
so habe ich es versucht aber klappt nicht: da ich den Buffer mit 50 initialisiert habe. for(i=0;i<50;i++) { Buffer[0][i] = ' '; Buffer[1][i] = ' '; Buffer[2][i] = ' '; }
>so habe ich es versucht aber klappt nicht
Irgendwie muß deine Ausgaberoutine ja merken, dass der Stroíng zuende
oder leer ist.
Wie macht sie das?
vor der ausgabe habe ich immer mit '\0' das string beendet, ich versuch erstmal mit unsigned
>wenn ich 'hallo word' löschen will, dann ergibt sich das: >' a l w r ' In welcher Version? Mit '\0' oder mit ' '? Wenn du die Zeile wieder komplett ausgeben willst, ohne dass da irgendwelcher Text drinsteht, solltest du Leerzeichen in den String schreiben. Ich vermute, dein Problem liegt im Bereich der Ausgaberoutine. Poste doch mal deinen Code!
for(;;) { ... hier kommt ein While schliefe... neues Zeichen!! ja! { Buffer[Next] = RXBUF1; Next++; } Buffer[Next] = '\0'; ... ...hier wird auf dem Display angezeigt. das ganze funktioniert soweit gut. ...und nun möchte ich den Buffer ausleeren. }
Wie die Daten in deinen Puffer kommen ist (mir) relativ egal. >wenn ich 'hallo word' löschen will, dann ergibt sich das: >' a l w r ' Wie sieht denn dein Löschvorgang aus? (Ist das der von oben?) Wie sieht deine Ausgabe-Routine aus? (Oder ist das geheim? In diesem Fall sollte man sich aber überlegen, ob man überhaupt in einem Forum nach Hilfe fragen sollte...)
Jau, wieder mal ne hübsche Raterunde hier. Wie findet man Fehler im Code ohne den Code ? Peter
>Wie findet man Fehler im Code ohne den Code ?
Kristall-Kugel?
Selber schreiben, bis der Fehler auftritt...
> char Buffer[3][50] > wie kann ich die buffer leerer damit ich nicht nochmal den gleichen > alten Inhalt angezeigt bekomme? memset(Buffer, 0, sizeof(Buffer));
Hier einen einfache Lösung. #include <string.h> int main(void) { char Buffer[3][50]; Buffer[0][0]='A'; Buffer[1][0]='B'; Buffer[2][49]='C'; memset(&Buffer,0,150); return 0; MfG
>leute wenn man kein bock hat zu antworten dann nicht. aber bitte kein >kritik. Was hilft es dir, wenn du eine Frage stellst, auf die niemand antwortet bzw. keine vernünftige Antwort geben kann, weil ihm gewisse Dinge zwecks Fehleranalyse fehlen? Bis jetzt war das, was von dir kam nur etwas, wo man raten konnte. Entweder postest du mal vernünftige Code-Fragmente, oder dir wird niemand helfen (können). Jammern hilft da überhaupt nicht. Deine ursprüngliche Frage wurde inzwischen mehrfach beantwortet. Da aber immer noch ein Fehler auftritt, wird das Problem an einer anderen Stelle sitzen.
Alain wrote: > leute wenn man kein bock hat zu antworten dann nicht. aber bitte kein > kritik. Wenn Du keine Hinweise auf die Fehlerquelle (sitzt in diesem Fall vor Deinem Bildschirm) verträgst, bitte. Es ist ja Dein Bier, wenn Du Dein Problem nicht gelöst haben willst. Peter
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.