6
votes

Printf sur byearray

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);


0 commentaires

3 Réponses :


1
votes

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.

ou, pour le mettre un autre moyen: un tableau de caractères sans '\ 0' Char n'importe où dans ses éléments n'est pas une chaîne. Vous ne pouvez pas l'imprimer avec "% s" .


0 commentaires

8
votes

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: xxx


0 commentaires

2
votes

paramétra votre chaîne comme suit; xxx


0 commentaires