Problème en C

Bjr, J’aimerais vous exposer mon problème :

Voila , je dois crée une structure en C contenant le NOM , l’EXTENTION , L’ATTRIBUT qui comprend le champ binaire représenter de la manière suivante ( 8 bit )

MA STRUCTURE : NOM EXTENTION ATTRIBUT qui comprend le champ binaire suivant :

X X X X X X X X

en partant de la gauche vers la droite
le 3 X = archivé
le 7 X = fichier caché
le 8 X = lecture seule

Je n’arrive pas à crée la structure idéal pour garnir mon champ binaire avec les information suivante ( archivage , fichier caché, lecture seule ).

typedef unsigned char BYTE;

struct fichier { BYTE NOM[9];
EXTENTION[4];
/* ici l’attribut */
};

Je dois rentrer au clavier , en répondant par oui ou par non si le fichier est archivé , caché ou en lecture seule . Si par exemple je rentre au clavier " Archivé fichier ? " si je met " oui " je dois garnir mon champs binaire avec un bit et non pas une chaine de caractère. Si quelqu’un sait de quoi je parle , et s’il peut m’éclairer ça serait cool

Je ne sais pas si c’est la façon idéale de procéder, ni si j’ai bien compris ce que tu voulais, mais tu peux utiliser la représentation binaire ( ou hexa peu importe ) dans ton cas à savoir :


X X X X X X X X est le masque
X X 1 X X X X X est le bit à affecter si le fichier est archivé, donc il faut ajouter 32 au chiffre 
X X 0 X X X X X est le bit à affecter si le fichier n'est pas archivé, donc il faut retirer 32 au chiffre 
X X X X X X 1 X est le bit à affecter si le fichier est caché, donc il faut ajouter 2 au chiffre
X X X X X X 0 X est le bit à affecter si le fichier n'est pas caché, donc il faut retirer 2 au chiffre
X X X X X X X 1 est le bit à affecter si le fichier est en lecture seule, donc il  faut ajouter 1 au chiffre
X X X X X X X 1 est le bit à affecter si le fichier n'est pas en lecture seule, donc il  faut retirer 1 au chiffre

Les autres bits sont-ils utilisés ? Prennent t’ils aussi la forme binaire ?

ai-je bien compris la question ? :paf:

edit :

Dans le cas que j’expose, tu convertis simplement la valeur représentative des attributs du fichier en binaire/hexa et tu sais quel bit est à un ou pas. :oui:

en utilisant un type de données codé sur 8 bit (un char par exemple) , et ensuite tu joues avec les masquages( & et |) pour écrire et lire les bits que tu souhaites

Il peut aussi utiliser un tableau de 0/1 :neutre:

les autres bit ne sont pas utilisé et je dois utilisé la forme binaire , j’ai oublié de précisé dsl.

Si je rentrer au clavier " oui " pour la lecture seule ou autre chose , je dois m’arranger à ce que le 2eme bit soit a 1 et si je repond non , je dois mettre 0

Et bien tout est dit alors :neutre:

tu serais me donner une idée de la structure , comment tu va la représenter ?

merci à ceux qui m’on aider , mais j ai fini par comprendre le probleme , qd j aurais fini le source je le mettrais pour que vous voyez à quoi ca ressemble.

++

En prog, tous les formats sont binaires, c’est juste la représentation qui varie… :wink: