tableau de chaînes avec le caractère de poubelle à la fin

J'ai un char tableau tampon que j'utilise pour stocker les caractères que l'utilisateur devra saisir un par un. Mon code ci-dessous fonctionne, mais a quelques problèmes que je n'arrive pas à comprendre:

  1. quand j'execute un printf pour voir ce qui est dans la mémoire Tampon, il n'a remplir, mais j'obtiens des caractères illisibles à la fin
  2. de ne pas s'arrêter à 8 caractères en dépit d'être déclaré en tant que char Tampon[8];

Quelqu'un peut-il m'expliquer ce qui se passe et peut-être comment je pourrais résoudre ce problème? Merci.

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);

}

De sortie:

tagBuffer est de 1 â â w! 
tagBuffer est de 12 â w! 
tagBuffer est 123w! 
tagBuffer est 1234! 
tagBuffer est 12345! 
tagBuffer est 123456=! 
tagBuffer est 1234567! 
tagBuffer est 12345678!

tagBuffer est 123456789!

source d'informationauteur Steve | 2008-11-06