J'ai la structure suivante:
/** The description of an ordinary 8+3 DOS directory entry. */ struct dirent { byte d_name[8]; //!< space padded name byte d_ext[3]; //!< space padded extension byte d_attr; //!< the file attributes ...... }; printf("%s\n", de.d_name);
3 Réponses :
Un tableau de caractères avec 8 éléments ne peut pas contenir une chaîne de longueur 8. Vous avez besoin de 9 éléments pour cela. P>
ou, pour le mettre un autre moyen: un tableau de caractères sans '\ 0' code> Char n'importe où dans ses éléments n'est pas une chaîne. Vous ne pouvez pas l'imprimer avec
"% s" code>. P>
Pour imprimer une matrice de caractère rembourrée de l'espace (mais pas nécessairement désormais désintérogée), vous pouvez utiliser un spécificateur de largeur pour printf:
paramétra votre chaîne comme suit;