Arduino Ethernet et l'iphone

Attention, ce n'est pas parce que tu construit une chaine que le '\0' est automatiquement inclus, tout dépend comment tu initialises ta chaine.

Par exemple :

char chaine[33];

Ta chaine soit sera vide, soit aura des valeurs d'une variable temporaire qui n'est plus référence et donc l'emplacement mémoire cera libre mais pas la précédente valeur, elle sera toujours présente lors de la prochaine réservation pour ta chaine par exemple.

Donc toujours, toujours, toujours initialiser ses variables à la déclaration.
Exemple:

char chaine[33] = {0};
char chaine[] = "une chaine";

Dans le premier cas toutes les valeurs de ta chaine seront initialisé à 0 (='\0'), donc que tu remplisses l'entièreté(-1) de ta chaine ou partiellement le caractère de chaine sera présent, il faut juste pensé à bien prendre en compte ce caractère de fin de chaine quand tu déclares la taille de ton tableau.
Dans le 2 ème cas tu initialise ta chaine avec une constante qui comprend déjà le caractère '\0'.