bonjour
je voudrais transtyper un char buf[89] en une stucture
de types recettes appelée re
voici le code mais je n'arrive pas a faire fonctionner dynamic_cast
je suis tres nouveau en la matiére
voici le code de la fonction que j'aimerais faire fonctionner
recettesaouvrir="c:\\comptae\\transit\\rec0803";
fstream rec ;
rec.open (recettesaouvrir);
rec.seekg(0,ios::end);
longueur=rec.tellg();
if (rec.is_open())
else
ShowMessage(AnsiString("n'existe pas ")+BoolToStr(rec.is_open));
rec.seekg(0,ios::beg);
while (tour<longueur)
{
rec.get(buf[39]);
//j'ai donc la un char de longueur 39 que je voudrais transtyper en
struct re
j'ai chercher avec dynamic_cast mais il y a quelque chose qui m'echappe
et je n'y arrive pas
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
kanze
fontaine jean paul wrote in message news:<403d1ff3$0$13858$...
je voudrais transtyper un char buf[89] en une stucture de types recettes appelée re voici le code mais je n'arrive pas a faire fonctionner dynamic_cast. je suis tres nouveau en la matiére
voici le code de la fonction que j'aimerais faire fonctionner
recettesaouvrir="c:comptaetransitrec0803"; fstream rec ; rec.open (recettesaouvrir); rec.seekg(0,ios::end); longueur=rec.tellg(); if (rec.is_open()) else ShowMessage(AnsiString("n'existe pas ")+BoolToStr(rec.is_open));
rec.seekg(0,ios::beg);
while (tour<longueur)
{ rec.get(buf[39]);
//j'ai donc la un char de longueur 39 que je voudrais transtyper en struct re j'ai chercher avec dynamic_cast mais il y a quelque chose qui m'echappe et je n'y arrive pas
Je ne suis pas très sûr d'avoir compris ce que tu veux réelement. D'abord, est-ce qu'il s'agit de récupérer des données déjà écrites dans un format défini, ou est-ce que c'est toi qui définis le format ? En tout cas, il faut savoir le format exact des données externes, et ce n'est pas une struct qui va t'aider là.
Aussi, d'où vient ce 39 ? J'ai l'impression que tu as simplement ajouté la taille de chacune des champs dans recettes -- ça ne marche pas comme ça, ni en interne, ni en externe.
-- James Kanze GABI Software mailto: Conseils en informatique orientée objet/ http://www.gabi-soft.fr Beratung in objektorientierter Datenverarbeitung 11 rue de Rambouillet, 78460 Chevreuse, France, +33 (0)1 30 23 45 16
fontaine jean paul <reservation@la-venerie.com> wrote in message
news:<403d1ff3$0$13858$ba620e4c@news.skynet.be>...
je voudrais transtyper un char buf[89] en une stucture de types
recettes appelée re voici le code mais je n'arrive pas a faire
fonctionner dynamic_cast. je suis tres nouveau en la matiére
voici le code de la fonction que j'aimerais faire fonctionner
recettesaouvrir="c:\comptae\transit\rec0803";
fstream rec ;
rec.open (recettesaouvrir);
rec.seekg(0,ios::end);
longueur=rec.tellg();
if (rec.is_open())
else
ShowMessage(AnsiString("n'existe pas ")+BoolToStr(rec.is_open));
rec.seekg(0,ios::beg);
while (tour<longueur)
{
rec.get(buf[39]);
//j'ai donc la un char de longueur 39 que je voudrais transtyper en
struct re
j'ai chercher avec dynamic_cast mais il y a quelque chose qui
m'echappe et je n'y arrive pas
Je ne suis pas très sûr d'avoir compris ce que tu veux réelement.
D'abord, est-ce qu'il s'agit de récupérer des données déjà écrites dans
un format défini, ou est-ce que c'est toi qui définis le format ? En
tout cas, il faut savoir le format exact des données externes, et ce
n'est pas une struct qui va t'aider là.
Aussi, d'où vient ce 39 ? J'ai l'impression que tu as simplement ajouté
la taille de chacune des champs dans recettes -- ça ne marche pas comme
ça, ni en interne, ni en externe.
--
James Kanze GABI Software mailto:kanze@gabi-soft.fr
Conseils en informatique orientée objet/ http://www.gabi-soft.fr
Beratung in objektorientierter Datenverarbeitung
11 rue de Rambouillet, 78460 Chevreuse, France, +33 (0)1 30 23 45 16
fontaine jean paul wrote in message news:<403d1ff3$0$13858$...
je voudrais transtyper un char buf[89] en une stucture de types recettes appelée re voici le code mais je n'arrive pas a faire fonctionner dynamic_cast. je suis tres nouveau en la matiére
voici le code de la fonction que j'aimerais faire fonctionner
recettesaouvrir="c:comptaetransitrec0803"; fstream rec ; rec.open (recettesaouvrir); rec.seekg(0,ios::end); longueur=rec.tellg(); if (rec.is_open()) else ShowMessage(AnsiString("n'existe pas ")+BoolToStr(rec.is_open));
rec.seekg(0,ios::beg);
while (tour<longueur)
{ rec.get(buf[39]);
//j'ai donc la un char de longueur 39 que je voudrais transtyper en struct re j'ai chercher avec dynamic_cast mais il y a quelque chose qui m'echappe et je n'y arrive pas
Je ne suis pas très sûr d'avoir compris ce que tu veux réelement. D'abord, est-ce qu'il s'agit de récupérer des données déjà écrites dans un format défini, ou est-ce que c'est toi qui définis le format ? En tout cas, il faut savoir le format exact des données externes, et ce n'est pas une struct qui va t'aider là.
Aussi, d'où vient ce 39 ? J'ai l'impression que tu as simplement ajouté la taille de chacune des champs dans recettes -- ça ne marche pas comme ça, ni en interne, ni en externe.
-- James Kanze GABI Software mailto: Conseils en informatique orientée objet/ http://www.gabi-soft.fr Beratung in objektorientierter Datenverarbeitung 11 rue de Rambouillet, 78460 Chevreuse, France, +33 (0)1 30 23 45 16
fontaine jean paul
merci en quelques mots j'ai ecris en quick basic voila longtemps un programme de comptabilite qui se servait de stucture d'enregistrements de longueur fixe soit 39 octets pour l'exemple ci dessus comme je voudrais reprogrammer en c++ mais employer la meme longueur d'enregistrement soit 39 pour exploiter mes anciens fichier il faudrai que je puisse extraire les donnees de 39 octets dans une structure les manipuler puis les reinscrire avec la meme longueur si c'est possible comment faire avec fstream jean paul fontaine
wrote:
fontaine jean paul wrote in message news:<403d1ff3$0$13858$...
je voudrais transtyper un char buf[89] en une stucture de types recettes appelée re voici le code mais je n'arrive pas a faire fonctionner dynamic_cast. je suis tres nouveau en la matiére
voici le code de la fonction que j'aimerais faire fonctionner
recettesaouvrir="c:comptaetransitrec0803"; fstream rec ; rec.open (recettesaouvrir); rec.seekg(0,ios::end); longueur=rec.tellg(); if (rec.is_open()) else ShowMessage(AnsiString("n'existe pas ")+BoolToStr(rec.is_open));
rec.seekg(0,ios::beg);
while (tour<longueur)
{ rec.get(buf[39]);
//j'ai donc la un char de longueur 39 que je voudrais transtyper en struct re j'ai chercher avec dynamic_cast mais il y a quelque chose qui m'echappe et je n'y arrive pas
Je ne suis pas très sûr d'avoir compris ce que tu veux réelement. D'abord, est-ce qu'il s'agit de récupérer des données déjà écrites dans un format défini, ou est-ce que c'est toi qui définis le format ? En tout cas, il faut savoir le format exact des données externes, et ce n'est pas une struct qui va t'aider là.
Aussi, d'où vient ce 39 ? J'ai l'impression que tu as simplement ajouté la taille de chacune des champs dans recettes -- ça ne marche pas comme ça, ni en interne, ni en externe.
-- James Kanze GABI Software mailto: Conseils en informatique orientée objet/ http://www.gabi-soft.fr Beratung in objektorientierter Datenverarbeitung 11 rue de Rambouillet, 78460 Chevreuse, France, +33 (0)1 30 23 45 16
merci
en quelques mots j'ai ecris en quick basic voila longtemps
un programme de comptabilite qui se servait de stucture
d'enregistrements de longueur fixe soit 39 octets pour l'exemple ci dessus
comme je voudrais reprogrammer en c++ mais employer la meme longueur
d'enregistrement soit 39 pour exploiter mes anciens fichier il faudrai
que je puisse extraire les donnees de 39 octets dans une structure les
manipuler puis les reinscrire avec la meme longueur
si c'est possible comment faire avec fstream
jean paul fontaine
kanze@gabi-soft.fr wrote:
fontaine jean paul <reservation@la-venerie.com> wrote in message
news:<403d1ff3$0$13858$ba620e4c@news.skynet.be>...
je voudrais transtyper un char buf[89] en une stucture de types
recettes appelée re voici le code mais je n'arrive pas a faire
fonctionner dynamic_cast. je suis tres nouveau en la matiére
voici le code de la fonction que j'aimerais faire fonctionner
recettesaouvrir="c:\comptae\transit\rec0803";
fstream rec ;
rec.open (recettesaouvrir);
rec.seekg(0,ios::end);
longueur=rec.tellg();
if (rec.is_open())
else
ShowMessage(AnsiString("n'existe pas ")+BoolToStr(rec.is_open));
rec.seekg(0,ios::beg);
while (tour<longueur)
{
rec.get(buf[39]);
//j'ai donc la un char de longueur 39 que je voudrais transtyper en
struct re
j'ai chercher avec dynamic_cast mais il y a quelque chose qui
m'echappe et je n'y arrive pas
Je ne suis pas très sûr d'avoir compris ce que tu veux réelement.
D'abord, est-ce qu'il s'agit de récupérer des données déjà écrites dans
un format défini, ou est-ce que c'est toi qui définis le format ? En
tout cas, il faut savoir le format exact des données externes, et ce
n'est pas une struct qui va t'aider là.
Aussi, d'où vient ce 39 ? J'ai l'impression que tu as simplement ajouté
la taille de chacune des champs dans recettes -- ça ne marche pas comme
ça, ni en interne, ni en externe.
--
James Kanze GABI Software mailto:kanze@gabi-soft.fr
Conseils en informatique orientée objet/ http://www.gabi-soft.fr
Beratung in objektorientierter Datenverarbeitung
11 rue de Rambouillet, 78460 Chevreuse, France, +33 (0)1 30 23 45 16
merci en quelques mots j'ai ecris en quick basic voila longtemps un programme de comptabilite qui se servait de stucture d'enregistrements de longueur fixe soit 39 octets pour l'exemple ci dessus comme je voudrais reprogrammer en c++ mais employer la meme longueur d'enregistrement soit 39 pour exploiter mes anciens fichier il faudrai que je puisse extraire les donnees de 39 octets dans une structure les manipuler puis les reinscrire avec la meme longueur si c'est possible comment faire avec fstream jean paul fontaine
wrote:
fontaine jean paul wrote in message news:<403d1ff3$0$13858$...
je voudrais transtyper un char buf[89] en une stucture de types recettes appelée re voici le code mais je n'arrive pas a faire fonctionner dynamic_cast. je suis tres nouveau en la matiére
voici le code de la fonction que j'aimerais faire fonctionner
recettesaouvrir="c:comptaetransitrec0803"; fstream rec ; rec.open (recettesaouvrir); rec.seekg(0,ios::end); longueur=rec.tellg(); if (rec.is_open()) else ShowMessage(AnsiString("n'existe pas ")+BoolToStr(rec.is_open));
rec.seekg(0,ios::beg);
while (tour<longueur)
{ rec.get(buf[39]);
//j'ai donc la un char de longueur 39 que je voudrais transtyper en struct re j'ai chercher avec dynamic_cast mais il y a quelque chose qui m'echappe et je n'y arrive pas
Je ne suis pas très sûr d'avoir compris ce que tu veux réelement. D'abord, est-ce qu'il s'agit de récupérer des données déjà écrites dans un format défini, ou est-ce que c'est toi qui définis le format ? En tout cas, il faut savoir le format exact des données externes, et ce n'est pas une struct qui va t'aider là.
Aussi, d'où vient ce 39 ? J'ai l'impression que tu as simplement ajouté la taille de chacune des champs dans recettes -- ça ne marche pas comme ça, ni en interne, ni en externe.
-- James Kanze GABI Software mailto: Conseils en informatique orientée objet/ http://www.gabi-soft.fr Beratung in objektorientierter Datenverarbeitung 11 rue de Rambouillet, 78460 Chevreuse, France, +33 (0)1 30 23 45 16
Gourgouilloult
en quelques mots j'ai ecris en quick basic voila longtemps un programme de comptabilite qui se servait de stucture d'enregistrements de longueur fixe soit 39 octets pour l'exemple ci dessus comme je voudrais reprogrammer en c++ mais employer la meme longueur d'enregistrement soit 39 pour exploiter mes anciens fichier il faudrai que je puisse extraire les donnees de 39 octets dans une structure les manipuler puis les reinscrire avec la meme longueur si c'est possible comment faire avec fstream jean paul fontaine
(Bon, je fais une réponse à 0.2 euros.) La façon basique de lire un fstream, quand on a des contraintes a priori de l'ordre de l'octet (1) est d'utiliser get() pour récupérer la donnée dans des chars et faire les conversions à partir de ces chars vers les types adéquats. En tout cas, c'est le genre de situation où il vaut mieux ne pas chercher à être trop malin !
(1) Note pour les pinailleurs : bon, c'est certainement pas du vocabulaire en rapport avec la norme, mais on va supposer que ce monsieur ne code pas sur pdp et a ses chars codés sur des octets de 8 bits «comme tout le monde», et qu'il ne s'occupe pas pour l'instant des questions de portabilité ;)
Gourgou (Et non, je ne suis même pas certain que les pdp avaient des bytes de pas 8 bits, patapay)
en quelques mots j'ai ecris en quick basic voila longtemps
un programme de comptabilite qui se servait de stucture
d'enregistrements de longueur fixe soit 39 octets pour l'exemple ci dessus
comme je voudrais reprogrammer en c++ mais employer la meme longueur
d'enregistrement soit 39 pour exploiter mes anciens fichier il faudrai
que je puisse extraire les donnees de 39 octets dans une structure les
manipuler puis les reinscrire avec la meme longueur
si c'est possible comment faire avec fstream
jean paul fontaine
(Bon, je fais une réponse à 0.2 euros.) La façon basique de lire un
fstream, quand on a des contraintes a priori de l'ordre de l'octet (1)
est d'utiliser get() pour récupérer la donnée dans des chars et faire
les conversions à partir de ces chars vers les types adéquats. En tout
cas, c'est le genre de situation où il vaut mieux ne pas chercher à être
trop malin !
(1) Note pour les pinailleurs : bon, c'est certainement pas du
vocabulaire en rapport avec la norme, mais on va supposer que ce
monsieur ne code pas sur pdp et a ses chars codés sur des octets de 8
bits «comme tout le monde», et qu'il ne s'occupe pas pour l'instant des
questions de portabilité ;)
Gourgou
(Et non, je ne suis même pas certain que les pdp avaient des bytes de
pas 8 bits, patapay)
en quelques mots j'ai ecris en quick basic voila longtemps un programme de comptabilite qui se servait de stucture d'enregistrements de longueur fixe soit 39 octets pour l'exemple ci dessus comme je voudrais reprogrammer en c++ mais employer la meme longueur d'enregistrement soit 39 pour exploiter mes anciens fichier il faudrai que je puisse extraire les donnees de 39 octets dans une structure les manipuler puis les reinscrire avec la meme longueur si c'est possible comment faire avec fstream jean paul fontaine
(Bon, je fais une réponse à 0.2 euros.) La façon basique de lire un fstream, quand on a des contraintes a priori de l'ordre de l'octet (1) est d'utiliser get() pour récupérer la donnée dans des chars et faire les conversions à partir de ces chars vers les types adéquats. En tout cas, c'est le genre de situation où il vaut mieux ne pas chercher à être trop malin !
(1) Note pour les pinailleurs : bon, c'est certainement pas du vocabulaire en rapport avec la norme, mais on va supposer que ce monsieur ne code pas sur pdp et a ses chars codés sur des octets de 8 bits «comme tout le monde», et qu'il ne s'occupe pas pour l'instant des questions de portabilité ;)
Gourgou (Et non, je ne suis même pas certain que les pdp avaient des bytes de pas 8 bits, patapay)
fontaine jean paul
c'est exactement ce que j'ai fait comme c'est un programme ne devant pas etre portable et que mes contraintes etait de cette ordre char sur 8 bits pas de pdp ps: j'ai prefere read à get
merci de ta réponse jean paul fontaine
Gourgouilloult wrote:
en quelques mots j'ai ecris en quick basic voila longtemps un programme de comptabilite qui se servait de stucture d'enregistrements de longueur fixe soit 39 octets pour l'exemple ci dessus comme je voudrais reprogrammer en c++ mais employer la meme longueur d'enregistrement soit 39 pour exploiter mes anciens fichier il faudrai que je puisse extraire les donnees de 39 octets dans une structure les manipuler puis les reinscrire avec la meme longueur si c'est possible comment faire avec fstream jean paul fontaine
(Bon, je fais une réponse à 0.2 euros.) La façon basique de lire un fstream, quand on a des contraintes a priori de l'ordre de l'octet (1) est d'utiliser get() pour récupérer la donnée dans des chars et faire les conversions à partir de ces chars vers les types adéquats. En tout cas, c'est le genre de situation où il vaut mieux ne pas chercher à être trop malin !
(1) Note pour les pinailleurs : bon, c'est certainement pas du vocabulaire en rapport avec la norme, mais on va supposer que ce monsieur ne code pas sur pdp et a ses chars codés sur des octets de 8 bits «comme tout le monde», et qu'il ne s'occupe pas pour l'instant des questions de portabilité ;)
Gourgou (Et non, je ne suis même pas certain que les pdp avaient des bytes de pas 8 bits, patapay)
c'est exactement ce que j'ai fait
comme c'est un programme ne devant pas etre portable
et que mes contraintes etait de cette ordre
char sur 8 bits pas de pdp
ps: j'ai prefere read à get
merci de ta réponse
jean paul fontaine
Gourgouilloult wrote:
en quelques mots j'ai ecris en quick basic voila longtemps
un programme de comptabilite qui se servait de stucture
d'enregistrements de longueur fixe soit 39 octets pour l'exemple ci
dessus
comme je voudrais reprogrammer en c++ mais employer la meme longueur
d'enregistrement soit 39 pour exploiter mes anciens fichier il faudrai
que je puisse extraire les donnees de 39 octets dans une structure les
manipuler puis les reinscrire avec la meme longueur
si c'est possible comment faire avec fstream
jean paul fontaine
(Bon, je fais une réponse à 0.2 euros.) La façon basique de lire un
fstream, quand on a des contraintes a priori de l'ordre de l'octet (1)
est d'utiliser get() pour récupérer la donnée dans des chars et faire
les conversions à partir de ces chars vers les types adéquats. En tout
cas, c'est le genre de situation où il vaut mieux ne pas chercher à être
trop malin !
(1) Note pour les pinailleurs : bon, c'est certainement pas du
vocabulaire en rapport avec la norme, mais on va supposer que ce
monsieur ne code pas sur pdp et a ses chars codés sur des octets de 8
bits «comme tout le monde», et qu'il ne s'occupe pas pour l'instant des
questions de portabilité ;)
Gourgou
(Et non, je ne suis même pas certain que les pdp avaient des bytes de
pas 8 bits, patapay)
c'est exactement ce que j'ai fait comme c'est un programme ne devant pas etre portable et que mes contraintes etait de cette ordre char sur 8 bits pas de pdp ps: j'ai prefere read à get
merci de ta réponse jean paul fontaine
Gourgouilloult wrote:
en quelques mots j'ai ecris en quick basic voila longtemps un programme de comptabilite qui se servait de stucture d'enregistrements de longueur fixe soit 39 octets pour l'exemple ci dessus comme je voudrais reprogrammer en c++ mais employer la meme longueur d'enregistrement soit 39 pour exploiter mes anciens fichier il faudrai que je puisse extraire les donnees de 39 octets dans une structure les manipuler puis les reinscrire avec la meme longueur si c'est possible comment faire avec fstream jean paul fontaine
(Bon, je fais une réponse à 0.2 euros.) La façon basique de lire un fstream, quand on a des contraintes a priori de l'ordre de l'octet (1) est d'utiliser get() pour récupérer la donnée dans des chars et faire les conversions à partir de ces chars vers les types adéquats. En tout cas, c'est le genre de situation où il vaut mieux ne pas chercher à être trop malin !
(1) Note pour les pinailleurs : bon, c'est certainement pas du vocabulaire en rapport avec la norme, mais on va supposer que ce monsieur ne code pas sur pdp et a ses chars codés sur des octets de 8 bits «comme tout le monde», et qu'il ne s'occupe pas pour l'instant des questions de portabilité ;)
Gourgou (Et non, je ne suis même pas certain que les pdp avaient des bytes de pas 8 bits, patapay)
(Et non, je ne suis même pas certain que les pdp avaient des bytes de pas 8 bits, patapay)
Tout depend de quel PDP tu parles.
A+
-- Jean-Marc FAQ de fclc++: http://www.cmla.ens-cachan.fr/~dosreis/C++/FAQ C++ FAQ Lite en VF: http://www.ifrance.com/jlecomte/c++/c++-faq-lite/index.html Site de usenet-fr: http://www.usenet-fr.news.eu.org
(Et non, je ne suis même pas certain que les pdp avaient des bytes
de pas 8 bits, patapay)
Tout depend de quel PDP tu parles.
A+
--
Jean-Marc
FAQ de fclc++: http://www.cmla.ens-cachan.fr/~dosreis/C++/FAQ
C++ FAQ Lite en VF: http://www.ifrance.com/jlecomte/c++/c++-faq-lite/index.html
Site de usenet-fr: http://www.usenet-fr.news.eu.org
(Et non, je ne suis même pas certain que les pdp avaient des bytes de pas 8 bits, patapay)
Tout depend de quel PDP tu parles.
A+
-- Jean-Marc FAQ de fclc++: http://www.cmla.ens-cachan.fr/~dosreis/C++/FAQ C++ FAQ Lite en VF: http://www.ifrance.com/jlecomte/c++/c++-faq-lite/index.html Site de usenet-fr: http://www.usenet-fr.news.eu.org
Gourgouilloult
(Et non, je ne suis même pas certain que les pdp avaient des bytes de pas 8 bits, patapay)
Tout depend de quel PDP tu parles.
Erf, c'est justement ce qu'il me semblait. J'ai préféré pas trop m'avancer non plus ;) (quoique c'était déjà pas mal)
Gourgou
(Et non, je ne suis même pas certain que les pdp avaient des bytes
de pas 8 bits, patapay)
Tout depend de quel PDP tu parles.
Erf, c'est justement ce qu'il me semblait. J'ai préféré pas trop
m'avancer non plus ;) (quoique c'était déjà pas mal)
(Et non, je ne suis même pas certain que les pdp avaient des bytes de pas 8 bits, patapay)
Tout depend de quel PDP tu parles.
Erf, c'est justement ce qu'il me semblait. J'ai préféré pas trop m'avancer non plus ;) (quoique c'était déjà pas mal)
Gourgou
James Kanze
fontaine jean paul writes:
|> en quelques mots j'ai ecris en quick basic voila longtemps un |> programme de comptabilite qui se servait de stucture |> d'enregistrements de longueur fixe soit 39 octets pour l'exemple ci |> dessus comme je voudrais reprogrammer en c++ mais employer la meme |> longueur d'enregistrement soit 39 pour exploiter mes anciens fichier |> il faudrai que je puisse extraire les donnees de 39 octets dans une |> structure les manipuler puis les reinscrire avec la meme longueur si |> c'est possible comment faire avec fstream
Pour commencer, il faudrait savoir exactement le format de ces 39 octets. Ensuite, s'ils contiennent du binaire, il ne faut pas oublier d'ouvrir le fichier en mode binaire. Puis, avec get, on peut le lire octet par octet, pour réconstituer les données.
-- James Kanze mailto: Conseils en informatique orientée objet/ Beratung in objektorientierter Datenverarbeitung 11 rue de Rambouillet, 78460 Chevreuse, France +33 1 41 89 80 93
fontaine jean paul <reservation@la-venerie.com> writes:
|> en quelques mots j'ai ecris en quick basic voila longtemps un
|> programme de comptabilite qui se servait de stucture
|> d'enregistrements de longueur fixe soit 39 octets pour l'exemple ci
|> dessus comme je voudrais reprogrammer en c++ mais employer la meme
|> longueur d'enregistrement soit 39 pour exploiter mes anciens fichier
|> il faudrai que je puisse extraire les donnees de 39 octets dans une
|> structure les manipuler puis les reinscrire avec la meme longueur si
|> c'est possible comment faire avec fstream
Pour commencer, il faudrait savoir exactement le format de ces 39
octets. Ensuite, s'ils contiennent du binaire, il ne faut pas oublier
d'ouvrir le fichier en mode binaire. Puis, avec get, on peut le lire
octet par octet, pour réconstituer les données.
--
James Kanze mailto:kanze@gabi-soft.fr
Conseils en informatique orientée objet/
Beratung in objektorientierter Datenverarbeitung
11 rue de Rambouillet, 78460 Chevreuse, France +33 1 41 89 80 93
|> en quelques mots j'ai ecris en quick basic voila longtemps un |> programme de comptabilite qui se servait de stucture |> d'enregistrements de longueur fixe soit 39 octets pour l'exemple ci |> dessus comme je voudrais reprogrammer en c++ mais employer la meme |> longueur d'enregistrement soit 39 pour exploiter mes anciens fichier |> il faudrai que je puisse extraire les donnees de 39 octets dans une |> structure les manipuler puis les reinscrire avec la meme longueur si |> c'est possible comment faire avec fstream
Pour commencer, il faudrait savoir exactement le format de ces 39 octets. Ensuite, s'ils contiennent du binaire, il ne faut pas oublier d'ouvrir le fichier en mode binaire. Puis, avec get, on peut le lire octet par octet, pour réconstituer les données.
-- James Kanze mailto: Conseils en informatique orientée objet/ Beratung in objektorientierter Datenverarbeitung 11 rue de Rambouillet, 78460 Chevreuse, France +33 1 41 89 80 93
James Kanze
fontaine jean paul writes:
|> c'est exactement ce que j'ai fait comme c'est un programme ne devant |> pas etre portable et que mes contraintes etait de cette ordre char |> sur 8 bits pas de pdp
Je crois qu'il a ajouté celà simplement pour prévenir qu'il se rendait compte des limitations de sa suggestion. Il y a eu des machines aux « bytes » à 9 bits dans la passée, mais je crois qu'en dehors de certains gros Unisys, il n'y en a plus, et la plupart des gens n'ont pas réelement besoin de les prendre en compte.
En revanche, il ne faut pas oublier que le format des virgule flottants est encore loin d'être normalisé, et que la tailles des int et des long, comme l'ordre des octets, varient encore même parmi les machines les plus courantes.
|> ps: j'ai prefere read à get
Pourquoi ? Qu'est-ce que ça change ? Quoique tu fasses, il faut que tu traites octet par octet pour réconstituer la structure voulue. Au moins qu'il faut traiter bit par bit, ce qui peut arriver plus souvent qu'on veut quand on a affaire à des virgules flottants.
Pour l'instant, tu nous as toujours rien dit sur le format des données qui se trouvent dans le fichier. Donc, nous ne pouvons rien dire de concret sur la façon de les lire.
-- James Kanze mailto: Conseils en informatique orientée objet/ Beratung in objektorientierter Datenverarbeitung 11 rue de Rambouillet, 78460 Chevreuse, France +33 1 41 89 80 93
fontaine jean paul <reservation@la-venerie.com> writes:
|> c'est exactement ce que j'ai fait comme c'est un programme ne devant
|> pas etre portable et que mes contraintes etait de cette ordre char
|> sur 8 bits pas de pdp
Je crois qu'il a ajouté celà simplement pour prévenir qu'il se
rendait compte des limitations de sa suggestion. Il y a eu des machines
aux « bytes » à 9 bits dans la passée, mais je crois qu'en
dehors de certains gros Unisys, il n'y en a plus, et la plupart des gens
n'ont pas réelement besoin de les prendre en compte.
En revanche, il ne faut pas oublier que le format des virgule flottants
est encore loin d'être normalisé, et que la tailles des int et des
long, comme l'ordre des octets, varient encore même parmi les
machines les plus courantes.
|> ps: j'ai prefere read à get
Pourquoi ? Qu'est-ce que ça change ? Quoique tu fasses, il faut que
tu traites octet par octet pour réconstituer la structure voulue. Au
moins qu'il faut traiter bit par bit, ce qui peut arriver plus souvent
qu'on veut quand on a affaire à des virgules flottants.
Pour l'instant, tu nous as toujours rien dit sur le format des
données qui se trouvent dans le fichier. Donc, nous ne pouvons rien
dire de concret sur la façon de les lire.
--
James Kanze mailto:kanze@gabi-soft.fr
Conseils en informatique orientée objet/
Beratung in objektorientierter Datenverarbeitung
11 rue de Rambouillet, 78460 Chevreuse, France +33 1 41 89 80 93
|> c'est exactement ce que j'ai fait comme c'est un programme ne devant |> pas etre portable et que mes contraintes etait de cette ordre char |> sur 8 bits pas de pdp
Je crois qu'il a ajouté celà simplement pour prévenir qu'il se rendait compte des limitations de sa suggestion. Il y a eu des machines aux « bytes » à 9 bits dans la passée, mais je crois qu'en dehors de certains gros Unisys, il n'y en a plus, et la plupart des gens n'ont pas réelement besoin de les prendre en compte.
En revanche, il ne faut pas oublier que le format des virgule flottants est encore loin d'être normalisé, et que la tailles des int et des long, comme l'ordre des octets, varient encore même parmi les machines les plus courantes.
|> ps: j'ai prefere read à get
Pourquoi ? Qu'est-ce que ça change ? Quoique tu fasses, il faut que tu traites octet par octet pour réconstituer la structure voulue. Au moins qu'il faut traiter bit par bit, ce qui peut arriver plus souvent qu'on veut quand on a affaire à des virgules flottants.
Pour l'instant, tu nous as toujours rien dit sur le format des données qui se trouvent dans le fichier. Donc, nous ne pouvons rien dire de concret sur la façon de les lire.
-- James Kanze mailto: Conseils en informatique orientée objet/ Beratung in objektorientierter Datenverarbeitung 11 rue de Rambouillet, 78460 Chevreuse, France +33 1 41 89 80 93