Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : utilisation des Fichiers binaire et texte [ Archives / Au secours ] (romca)

jeudi 17 février 2005 à 23:18:09 | utilisation des Fichiers binaire et texte

romca

Salut à tous, j'ai un exercice à faire et je sais pas par ou le commencer.
On décrit une structure avec de champs bien précis.
Dans la première question on me demande de "creer une fonction qui permette
de créer à partir de cette structure un fichier séquentiel binaire".

 Je me pose 2 questions:
1)  On ne me precise pas de créer forcément avant une strucure de données
(type "struct nomdelastrucure").Alors j'en deduis la question 2:
2) Si je suis pas obligé de la créer, j'en deduis qu'un fichier peut comprendre
plusieurs champs de type différent? Est ce posssible?
Mais comment faire alors en utilisant les fonctions fopen() et fwrite() par ex?
Par ex pour inclure dans un fichier de nom "fichier" les champs "num" type int, et
même un tableau comme tableau[20], tout ça dans le même fichier?
Et comment ça s'organise au niveau du fichier?

Merci de vos réponses, ça m'aiderai vraiment.

vendredi 18 février 2005 à 09:10:39 | Re : utilisation des Fichiers binaire et texte

ymca2003

Un fichier n'est autre qu'une suite d'octets stockés sur le disque. L'interprétation que l'on en fait dépend du contexte. Si tous les octets sont des caractères ASCII affichables alors on pourra parler de fichier texte sinon c'est du binaire pur. Dans ce cas les données peuvent être n'imporque quoi (des entiers, des flottants, des chaînes de caractères, des structures...).

Pour ton exo, tu as une structure de données qui contient une suite de champs nommés avec un type précis, mais en mémoire ce ne sera qu'une suite d'octets que tu adresse dans ton code à partir des éléments de la structure. En fait lorsque tu accède à un élément de ta structure, le compilateur y accède en ajoutant un offset à l'adresse de début de la structure en mémoire de manière transparente pour le programmeur. Cette suite d'octets peut donc être écrite telle quelle dans un fichier avec fwrite et relue avec fread (pour peu que le fichier soit ouvert en mode binaire b). Les octets auront donc une signification en utilisant la structure de données.

vendredi 18 février 2005 à 11:28:12 | Re : utilisation des Fichiers binaire et texte

victorcoasne

Membre Club
Bonjour,

Sont passés où mes 2 messsages d'avant ?


Merci,

Le créateur du site http://www.victorlogiciels.com

vendredi 18 février 2005 à 11:33:54 | Re : utilisation des Fichiers binaire et texte

romca

Ok merci de tes explications claires.

Donc si je comprend bien je ne peux pas mélanger dans un même fichier
des champs ASCII et binaire.
Donc dans mon exo je suis obligé de creer une structure de donnée avec
des champs différents mélangés type ASCII et binaire.
(Car dans l'enoncé un champs de cette structure est de type char chaine
de caractères (exactement responsable[21] ou il y aura un nom de responsable ).
Puis, j'accède (à cette structure) en créant un fichier (exemple "nomfichier").
Si je veux donc rentrer les données du tableau responsable[21]  dans "nomfichier"
je ne pourrais pas, je suis donc obligé sinon d'en creer un autre.

Est ce que j'ai bon?

vendredi 18 février 2005 à 11:55:02 | Re : utilisation des Fichiers binaire et texte

ymca2003

Dans un fichier tu met ce que tu veux. De l'ASCII c'est du binaire (avec seulement un sous-ensemble de valeurs possible).

un exemple de structure complexe:

struct MySousStruct
{
char s[12];
int tableau[64];
};

struct MyStruct
{
char chaine[32];
int entier;
float flottant;
MySousStruct tableaudestruct[4];
};

pour socker dans un fichier :
MyStruct toto;
FILE* file = fopen("toto.bin", "wb");
fwrite(&toto, sizeof(MyStruct), 1, file);

pour lire :
FILE* file = fopen("toto.bin", "rb");
fread(&toto, sizeof(MyStruct), 1, file);

Le point imporant à ne pas oublier c'est que l'ASCII c'est des octets comme n'import quelle autre variable sauf que ces octets ont signification particulière parce que on a decidé de faire une association entre les octets et des caractères alphanumérique et d'en faire un standard. Au niveau matériel, (mémoire disque) on se fout de savoir si c'est de l'ASCII ou pas, c'est des octets. C'est l'appli qui doit savoir la signification des octets qu'elle manipule (on recopiant une suite d'octets dans une structure avec des champs qui donnent du sens au binaire).

samedi 19 février 2005 à 11:18:26 | Re : Merci!!!!

romca

Merci beaucoup, ymca2003 j'ai bien compris maintenant.
Réponses claires et précises, avec des exemples, que demander de plus!! Super!!
Je vais pouvoir commencer et finir cet exercice. Mais le plus important c'est
que j'ai bien pigé.
Salut Victorcoasne, désolé j'ai pas reçu tes messages mais merci quand même.

Salut à tous.

dimanche 17 avril 2005 à 17:21:25 | Re : utilisation des Fichiers binaire et texte

benus

Je travaille aussi sur les fichiers en ce moment et j'aurai aimé savoir aprés ta lecture avec :
FILE* file = fopen("toto.bin", "rb");
fread(&toto, sizeof(MyStruct), 1, file);

comment tu faisais pour afficher le contenu de ton fichier
J'ai essayé avec :

cout <<  toto  << endl;

mais il me retourne une erreure, y a t-il une fonction spéciale?


lundi 18 avril 2005 à 09:04:19 | Re : utilisation des Fichiers binaire et texte

ymca2003

Il faut afficher un par un les membres de la structure car l'opérateur << n'est pas défini pour elle. L'autre solution est de surcharger cet opérateur (je ne sais plus la syntaxe exacte).

jeudi 15 mai 2008 à 15:22:44 | Re : utilisation des Fichiers binaire et texte

rabi3a



je veux savoir comment faire la gestion de bibliothèque en java(jcreator)



Cette discussion est classé dans : fichier, créer, binaire, type, champs


Répondre à ce message

Sujets en rapport avec ce message

raw (urgentissimo) [ par helena123 ] salut les loulous,Je dois écrire un programme qui lit un fichier de type raw.On me dit que le fichier de type .raw est de type binaire et contient l'i Probleme de sauvegarde d'une structure dans un fichier binaire [ par issoux ] Bonsoir, voila j'encode des etudiants + matricule + cotes  (tous des champs d'une structure)les cotes et les matricules sont sauvés correctement dans Comment créer un fichier binaire avec ces codes?? [ par zhangshuo ] Bonjour à tous, J'ai réussi à utiliser des codes ci-dessous à créer un fichier texte. File::AppendText,il peut créer un fichier texte et ajouter des d Besoin d'aide pour un programme [ par milka77 ] Bonjour,j'essaye de créer un programme qui peut copier tout ce qu'un fichier contient vers un autre fichier txt.Si vous pouviez m'aider car je ne sais coment convertir un fichier texte en fichier binaire [ par infodaoudi ] Bonjour,existe il une fonction qui converti un fichier texte par example composé de float séparé par des espaces (example 1.2 3.2 2.5...) en un fichie Création fichier .def [ par Orohena ] Bonjour à tous Je suis débutant sous visual c++ 2008 express, et j'écris une dll pour créer des fonctions pour Excel. Mon souci, c'est que je ne par comment créer un fichier Bat [ par azahiri ] Bonjour, Je voudrai créer un fichier .bat qui me renomme un fichier dans un répertoire donné et me copiera un autre fichier dans un autre répertoir ve problème de déplacement à la fin d'un fichier binaire [ par bernidupont ] Bonsoir,j'ai essayé de résoudre mon problème, mais je n'ai pas su trouver de solution.Mon problème est le suivant:j'ai un fichier binaire dans lequel Executer un fichier .reg [ par chinois0013 ] Bonjour,Je galere depuis quelques jours pour écrire une valeur binaire dans une clé de registre. Et je n'y arrive toujours pas ! Car je ne comprends p


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,359 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.