Riri (./28) :
Normalement en C la fin de chaine c'est '\0'?
oui
Pourquoi lorsque je le met après ce que j'ai récupéré sprintf où drawstr ne le voit pas?
j'ai essayé par deux méthodes différentes, soit avec Strcat soit en écrivant directement à l'aide du pointeur fill en fin de chaine.
Evidemment avec strcat y pouvais pas savoir où s'arretait la première chaine puisque je voualais justement la fermer... mais la je comprends pas pourquoi la deuxième sollution ne marche pas:
*fill = "\0";

ça veut dire que "fill" ne pointe sur le bon octet.
En général tu as pas besoin de mettre le caractère de fin de chaine à la main.
En plus, c'est dangereux. Exemple, ne pas faire:
char str[ 3 ] = {'a','b','c'};
char *fill = str[ 3 ];*fill = 0;// <=plantage