string-Array mit Garbage-Zeichen am Ende

Ich verwende einen Char-Array-Puffer zum Speichern von Zeichen, die der Benutzer einzeln eingibt. Mein Code unten funktioniert, hat aber ein paar Pannen, die ich nicht herausfinden kann:

wenn ich ein printf ausführe, um zu sehen, was sich in Buffer befindet, füllt es sich, aber ich erhalte am Ende Müllzeichenit hört nicht bei 8 Zeichen auf, obwohl es als char Buffer [8] deklariert wurde;

Kann mir bitte jemand erklären, was los ist und wie ich das beheben könnte? Vielen Dank

char Buffer[8]; //holds the byte stream
int i=0;

if (/* user input event has occurred */) 
{
        Buffer[i] = charInput;
        i++;

        // Display a response to input
        printf("Buffer is %s!\n", Buffer);

}

Ausgabe

tagBuffer is 1┬┬w!
tagBuffer is 12┬w!
tagBuffer is 123w!
tagBuffer is 1234!
tagBuffer is 12345!
tagBuffer is 123456=!
tagBuffer is 1234567!
tagBuffer is 12345678!

tagBuffer ist 123456789!

Antworten auf die Frage(14)

Ihre Antwort auf die Frage