J'ai un problème amusant en utilisant cette fonction.
Je l'utilise comme suit: et chaque fois que je reçois une exception. L'exception est tampon à petite.
Lorsque j'ai changé le deuxième champ dans la fonction à Tailleof (CBUF) + 1. P> Pourquoi dois-je ajouter un si je veux seulement copier 8 octets et j'ai un tableau contenant 8 octets? < / p> p>
3 Réponses :
Votre tampon contient 8 places. Votre chaîne contient 8 caractères et em> un caractère null pour le fermer. P>
J'ai donc besoin d'augmenter la taille du tampon de 1?
Oui. 1 est exactement la taille du terminateur null. Dans mon code, j'écris même littéralement Char CBUF [8 + 1] code> pour souligner le fait que j'ai besoin de place pour ce caractère supplémentaire.
J'ai utilisé char [TIMITEOF ("00000000")] code>.
Toutes les fonctions Sprintf Ajoutez une null pour terminer une chaîne. Donc, dans l'effet de votre chaîne est de 9 caractères. 8 octets de texte et la fin zéro p>
J'ai donc besoin d'augmenter la taille du tampon de 1?
Votre chaîne nécessitera de terminer «\ 0» et 8 octets de données (00000001) en raison de% 08d. Donc, vous devez tailles comme 9. P>