Bonjour,
Je ne connais pas exactement le vocabulaire, mais est-il possible, d'ouvrir un fichier en "binaire" pour ensuite pouvoir remplir une chaine de caractère avec les "011010110" retournés ?
Ou bien faire pareil en Hexa, merci.
Version imprimable
Bonjour,
Je ne connais pas exactement le vocabulaire, mais est-il possible, d'ouvrir un fichier en "binaire" pour ensuite pouvoir remplir une chaine de caractère avec les "011010110" retournés ?
Ou bien faire pareil en Hexa, merci.
Tu peux effectivement ouvrir un fichier en bianaire
puis tu lis ce fichier avec des fread par exemple et tu fais ce que tu veux avec les octets lus, en particulier tu peux les afficher un à un en utilisant desCode:f = fopen("toto.dat", "rb");
Rappelle-toi que tu lis des données qui sont rangées sous forme binaire en mémoire et que tu les affiches ensuite comme tu veux, en hexa, en base 2, en ASCII...Code:printf("%02X", (unsigned char) chaine[i]);
Pour l'affichage en binaire, il faut écrire le code (rien de standard). Pour l'hexa, le formatteur "%x" (ou "%X") de *printf() est fait pour ça.Citation:
Envoyé par Halobox
Voila ca me retounre des chiffres different de ceux quand j'ouvre les fichier avec un editeur hexa, où est mon erreur ?Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 #include <stdlib.h> #include <stdio.h> #define F "toto.dat" #define F2 "gg.dat" int main(){ FILE *in, *in2; in = fopen(F, "rb"); in2 = fopen(F2, "rb"); printf("%X\n\n",in); printf("%X\n\n",in2); system("PAUSE"); return 0; }
Sinon il faut mettre quoi a la place de %X pour afficehr en binaire.
MErci
Ouh la la! Ouvrir un livre de C d'urgence! Après ouverture du fichier, il faut le lire (fgetc() etc.). D'autre part, fopen() peut echouer... Il faut tester la valeur retournée. Si elle vaut, NULL, l'ouverture a echoué...Citation:
Envoyé par Halobox
Quels sont les mots que tu ne comprends pas dansCitation:
Sinon il faut mettre quoi a la place de %X pour afficehr en binaire.
Citation:
Pour l'affichage en binaire, il faut écrire le code (rien de standard).