Originariamente inviato da feys88
perchè?
Perché una stringa è terminata dallo zero binario. Se rileggi i dati e li visualizzi come stringa (con la printf) allora devi avere cura di includere lo zero binario quando scrivi.
Quindi dovrà essere

codice:
  char buffer[] = { 'x' , 'y' , 'z', '\0' };