Bonjour à tous,
Pour mes besoins j'ai défini une fonction write ainsi :
template<typename T>
void write( std::ofstream & Stream, T Value )
{
Stream.write( reinterpret_cast<char*>( &Value ), sizeof T );
}
void main()
{
std::ofstream OutFileStream;
OutFileStream.open( "test" );
int c = 10;
write( OutFileStream, c );
}
Je m'étonne qu'elle n'existe pas déjà dans la STL, ou même carrement en tant
que fonction membre de ofstream. Je pense plutôt que j'ai mal cherché.
Y'a-t-il un équivalent et si non pourquoi ?
Merci.
Pour rester du cote textuel, les avantages d'XML sont innombrables.
Surtout pour des vendeurs de disques, de mémoire et de bande passante.
C'est grotesque ...
Pas tant que ça.
--drkm, en recherche d'un stage : http://www.fgeorges.org/ipl/stage.html
drkm
Loïc Joly writes:
wrote:
Si ton format interne est IEEE, tu es garanti avec une précision de 17 (ou peut-être 18 -- il faudrait que je vérifie) qu'une conversion double->ascii->doube ne perd aucune information (en supposant une implémentation « correcte » de la bibliothèque, évidemment).
Si tu veux un format texte lisible (c'est à dire que affiche les double de façon semblable à cette d'un std::cout), alors je ne vois pas trop comment c'est possible, puisqu'une fraction peut avoir une représentation non cyclique en base 10 et cyclique en base 2 et réciproquement. As-tu une référence ?
Encore une fois, si tu découpe en mantisse et exposant, quel est le problème ? Une sorte de « notation scientifique », en somme.
--drkm, en recherche d'un stage : http://www.fgeorges.org/ipl/stage.html
Loïc Joly <loic.actarus.joly@wanadoo.fr> writes:
kanze@gabi-soft.fr wrote:
Si ton format interne est IEEE, tu es garanti avec une précision de 17
(ou peut-être 18 -- il faudrait que je vérifie) qu'une conversion
double->ascii->doube ne perd aucune information (en supposant une
implémentation « correcte » de la bibliothèque, évidemment).
Si tu veux un format texte lisible (c'est à dire que affiche les
double de façon semblable à cette d'un std::cout), alors je ne vois
pas trop comment c'est possible, puisqu'une fraction peut avoir une
représentation non cyclique en base 10 et cyclique en base 2 et
réciproquement. As-tu une référence ?
Encore une fois, si tu découpe en mantisse et exposant, quel est le
problème ? Une sorte de « notation scientifique », en somme.
--drkm, en recherche d'un stage : http://www.fgeorges.org/ipl/stage.html
Si ton format interne est IEEE, tu es garanti avec une précision de 17 (ou peut-être 18 -- il faudrait que je vérifie) qu'une conversion double->ascii->doube ne perd aucune information (en supposant une implémentation « correcte » de la bibliothèque, évidemment).
Si tu veux un format texte lisible (c'est à dire que affiche les double de façon semblable à cette d'un std::cout), alors je ne vois pas trop comment c'est possible, puisqu'une fraction peut avoir une représentation non cyclique en base 10 et cyclique en base 2 et réciproquement. As-tu une référence ?
Encore une fois, si tu découpe en mantisse et exposant, quel est le problème ? Une sorte de « notation scientifique », en somme.
--drkm, en recherche d'un stage : http://www.fgeorges.org/ipl/stage.html
Michel Michaud
Dans news:41249c72$0$8970$, Aurélien
Parce qu'elle accepte un char*, et que autant je sais ce qu'écrire un char veut dire, autant j'ignore ce que peut vouloir dire écrire un void.
Ben fwrite le sait bien elle...
fwrite a été inventé pour C, avant que void* n'existe.
-- Michel Michaud http://www.gdzid.com FAQ de fr.comp.lang.c++ : http://www.cmla.ens-cachan.fr/~dosreis/C++/FAQ/
Dans news:41249c72$0$8970$636a15ce@news.free.fr, Aurélien
Parce qu'elle accepte un char*, et que autant je sais ce
qu'écrire un char veut dire, autant j'ignore ce que peut
vouloir dire écrire un void.
Ben fwrite le sait bien elle...
fwrite a été inventé pour C, avant que void* n'existe.
--
Michel Michaud mm@gdzid.com
http://www.gdzid.com
FAQ de fr.comp.lang.c++ :
http://www.cmla.ens-cachan.fr/~dosreis/C++/FAQ/
Parce qu'elle accepte un char*, et que autant je sais ce qu'écrire un char veut dire, autant j'ignore ce que peut vouloir dire écrire un void.
Ben fwrite le sait bien elle...
fwrite a été inventé pour C, avant que void* n'existe.
-- Michel Michaud http://www.gdzid.com FAQ de fr.comp.lang.c++ : http://www.cmla.ens-cachan.fr/~dosreis/C++/FAQ/
Gabriel Dos Reis
"Michel Michaud" writes:
| Dans news:41249c72$0$8970$, Aurélien | >> Parce qu'elle accepte un char*, et que autant je sais ce | >> qu'écrire un char veut dire, autant j'ignore ce que peut | >> vouloir dire écrire un void. | > | > Ben fwrite le sait bien elle... | | fwrite a été inventé pour C, avant que void* n'existe.
Ah bon ?
-- Gaby
"Michel Michaud" <mm@gdzid.com> writes:
| Dans news:41249c72$0$8970$636a15ce@news.free.fr, Aurélien
| >> Parce qu'elle accepte un char*, et que autant je sais ce
| >> qu'écrire un char veut dire, autant j'ignore ce que peut
| >> vouloir dire écrire un void.
| >
| > Ben fwrite le sait bien elle...
|
| fwrite a été inventé pour C, avant que void* n'existe.
| Dans news:41249c72$0$8970$, Aurélien | >> Parce qu'elle accepte un char*, et que autant je sais ce | >> qu'écrire un char veut dire, autant j'ignore ce que peut | >> vouloir dire écrire un void. | > | > Ben fwrite le sait bien elle... | | fwrite a été inventé pour C, avant que void* n'existe.
Ah bon ?
-- Gaby
Michel Michaud
Dans news:, Gabriel
"Michel Michaud" writes:
fwrite a été inventé pour C, avant que void* n'existe.
Ah bon ?
Ah bon quoi ?
-- Michel Michaud http://www.gdzid.com FAQ de fr.comp.lang.c++ : http://www.cmla.ens-cachan.fr/~dosreis/C++/FAQ/
Dans news:m3d61if0jo.fsf@uniton.integrable-solutions.net, Gabriel
"Michel Michaud" <mm@gdzid.com> writes:
fwrite a été inventé pour C, avant que void* n'existe.
Ah bon ?
Ah bon quoi ?
--
Michel Michaud mm@gdzid.com
http://www.gdzid.com
FAQ de fr.comp.lang.c++ :
http://www.cmla.ens-cachan.fr/~dosreis/C++/FAQ/
On Mon, 23 Aug 2004 16:49:05 -0400, "Michel Michaud" :
Ah bon quoi ?
Ah bon tout court.
-- ;-)
Gabriel Dos Reis
"Michel Michaud" writes:
| Dans news:, Gabriel | > "Michel Michaud" writes: | >> fwrite a été inventé pour C, avant que void* n'existe. | > | > Ah bon ? | | Ah bon quoi ?
« Ah bon ? » à ce que j'ai cité dans le message auquel je répondais.
-- Gaby
"Michel Michaud" <mm@gdzid.com> writes:
| Dans news:m3d61if0jo.fsf@uniton.integrable-solutions.net, Gabriel
| > "Michel Michaud" <mm@gdzid.com> writes:
| >> fwrite a été inventé pour C, avant que void* n'existe.
| >
| > Ah bon ?
|
| Ah bon quoi ?
« Ah bon ? » à ce que j'ai cité dans le message auquel je répondais.
| Dans news:, Gabriel | > "Michel Michaud" writes: | >> fwrite a été inventé pour C, avant que void* n'existe. | > | > Ah bon ? | | Ah bon quoi ?
« Ah bon ? » à ce que j'ai cité dans le message auquel je répondais.
-- Gaby
Michel Michaud
Dans news:, Gabriel
"Michel Michaud" writes:
Dans news:,
"Michel Michaud" writes:
fwrite a été inventé pour C, avant que void* n'existe.
Ah bon ?
Ah bon quoi ?
« Ah bon ? » à ce que j'ai cité dans le message auquel je répondais.
Ah bon ? Et il est encore cité.
En autant que tu es d'accord, la vie est belle. Et j'espère que tu es d'accord qu'il y avait un fwrite en C avant que void* n'existe. J'espère aussi que tu ne crois pas que fwrite a été inventé pour un autre langage. C'est tout ce que je peux tirer de ce que j'ai écrit.
J'ai l'impression que tu vois plus dans mon message que ce que j'ai écrit. Relis-le, il est encore en haut.
Je vais prendre un Ah bon, ou tout autre forme similaire, comme une approbation de mes propos... :-)
-- Michel Michaud http://www.gdzid.com FAQ de fr.comp.lang.c++ : http://www.cmla.ens-cachan.fr/~dosreis/C++/FAQ/
Dans news:m3r7pxa5zp.fsf@uniton.integrable-solutions.net, Gabriel
"Michel Michaud" <mm@gdzid.com> writes:
Dans news:m3d61if0jo.fsf@uniton.integrable-solutions.net,
"Michel Michaud" <mm@gdzid.com> writes:
fwrite a été inventé pour C, avant que void* n'existe.
Ah bon ?
Ah bon quoi ?
« Ah bon ? » à ce que j'ai cité dans le message auquel je
répondais.
Ah bon ? Et il est encore cité.
En autant que tu es d'accord, la vie est belle. Et j'espère
que tu es d'accord qu'il y avait un fwrite en C avant que
void* n'existe. J'espère aussi que tu ne crois pas que fwrite
a été inventé pour un autre langage. C'est tout ce que je peux
tirer de ce que j'ai écrit.
J'ai l'impression que tu vois plus dans mon message que ce
que j'ai écrit. Relis-le, il est encore en haut.
Je vais prendre un Ah bon, ou tout autre forme similaire,
comme une approbation de mes propos... :-)
--
Michel Michaud mm@gdzid.com
http://www.gdzid.com
FAQ de fr.comp.lang.c++ :
http://www.cmla.ens-cachan.fr/~dosreis/C++/FAQ/
fwrite a été inventé pour C, avant que void* n'existe.
Ah bon ?
Ah bon quoi ?
« Ah bon ? » à ce que j'ai cité dans le message auquel je répondais.
Ah bon ? Et il est encore cité.
En autant que tu es d'accord, la vie est belle. Et j'espère que tu es d'accord qu'il y avait un fwrite en C avant que void* n'existe. J'espère aussi que tu ne crois pas que fwrite a été inventé pour un autre langage. C'est tout ce que je peux tirer de ce que j'ai écrit.
J'ai l'impression que tu vois plus dans mon message que ce que j'ai écrit. Relis-le, il est encore en haut.
Je vais prendre un Ah bon, ou tout autre forme similaire, comme une approbation de mes propos... :-)
-- Michel Michaud http://www.gdzid.com FAQ de fr.comp.lang.c++ : http://www.cmla.ens-cachan.fr/~dosreis/C++/FAQ/
Michel Michaud
Dans news:, Fabien LE
On Mon, 23 Aug 2004 16:49:05 -0400, "Michel Michaud" :
Ah bon quoi ?
Ah bon tout court.
Non, ah bon tout court, se termine avec un point, pas un point d'interrogation.
-- Michel Michaud http://www.gdzid.com FAQ de fr.comp.lang.c++ : http://www.cmla.ens-cachan.fr/~dosreis/C++/FAQ/
Dans news:c0nki0l35v5mvl8a29iradbb14c2kiknoh@4ax.com, Fabien LE
On Mon, 23 Aug 2004 16:49:05 -0400, "Michel Michaud"
<mm@gdzid.com>:
Ah bon quoi ?
Ah bon tout court.
Non, ah bon tout court, se termine avec un point, pas un
point d'interrogation.
--
Michel Michaud mm@gdzid.com
http://www.gdzid.com
FAQ de fr.comp.lang.c++ :
http://www.cmla.ens-cachan.fr/~dosreis/C++/FAQ/
On Mon, 23 Aug 2004 16:49:05 -0400, "Michel Michaud" :
Ah bon quoi ?
Ah bon tout court.
Non, ah bon tout court, se termine avec un point, pas un point d'interrogation.
-- Michel Michaud http://www.gdzid.com FAQ de fr.comp.lang.c++ : http://www.cmla.ens-cachan.fr/~dosreis/C++/FAQ/
Gabriel Dos Reis
"Michel Michaud" writes:
| Dans news:, Gabriel | > "Michel Michaud" writes: | >> Dans news:, | >>> "Michel Michaud" writes: | >>>> fwrite a été inventé pour C, avant que void* n'existe. | >>> | >>> Ah bon ? | >> | >> Ah bon quoi ? | > | > « Ah bon ? » à ce que j'ai cité dans le message auquel je | > répondais. | | Ah bon ? Et il est encore cité.
Non.
| En autant que tu es d'accord, la vie est belle. Et j'espère
???
| que tu es d'accord qu'il y avait un fwrite en C avant que | void* n'existe.
???
| J'espère aussi que tu ne crois pas que fwrite | a été inventé pour un autre langage.
???
| C'est tout ce que je peux | tirer de ce que j'ai écrit.
Non.
Tu crois que restrict existait avant que printf ne soit inventé pour C ?
| J'ai l'impression que tu vois plus dans mon message que ce | que j'ai écrit.
Tout ce que je crois, c'est que c'est une explication fallacieuse. Je ne lis pas plus que ce que tu as écris.
| Relis-le, il est encore en haut.
C'est fait à plusieurs reprises.
| Je vais prendre un Ah bon, ou tout autre forme similaire, | comme une approbation de mes propos... :-)
Ah bon ? (avec le ton de la ministre des chasseurs).
-- Gaby
"Michel Michaud" <mm@gdzid.com> writes:
| Dans news:m3r7pxa5zp.fsf@uniton.integrable-solutions.net, Gabriel
| > "Michel Michaud" <mm@gdzid.com> writes:
| >> Dans news:m3d61if0jo.fsf@uniton.integrable-solutions.net,
| >>> "Michel Michaud" <mm@gdzid.com> writes:
| >>>> fwrite a été inventé pour C, avant que void* n'existe.
| >>>
| >>> Ah bon ?
| >>
| >> Ah bon quoi ?
| >
| > « Ah bon ? » à ce que j'ai cité dans le message auquel je
| > répondais.
|
| Ah bon ? Et il est encore cité.
Non.
| En autant que tu es d'accord, la vie est belle. Et j'espère
???
| que tu es d'accord qu'il y avait un fwrite en C avant que
| void* n'existe.
???
| J'espère aussi que tu ne crois pas que fwrite
| a été inventé pour un autre langage.
???
| C'est tout ce que je peux
| tirer de ce que j'ai écrit.
Non.
Tu crois que restrict existait avant que printf ne soit inventé pour C
?
| J'ai l'impression que tu vois plus dans mon message que ce
| que j'ai écrit.
Tout ce que je crois, c'est que c'est une explication fallacieuse. Je
ne lis pas plus que ce que tu as écris.
| Relis-le, il est encore en haut.
C'est fait à plusieurs reprises.
| Je vais prendre un Ah bon, ou tout autre forme similaire,
| comme une approbation de mes propos... :-)
Ah bon ? (avec le ton de la ministre des chasseurs).
| Dans news:, Gabriel | > "Michel Michaud" writes: | >> Dans news:, | >>> "Michel Michaud" writes: | >>>> fwrite a été inventé pour C, avant que void* n'existe. | >>> | >>> Ah bon ? | >> | >> Ah bon quoi ? | > | > « Ah bon ? » à ce que j'ai cité dans le message auquel je | > répondais. | | Ah bon ? Et il est encore cité.
Non.
| En autant que tu es d'accord, la vie est belle. Et j'espère
???
| que tu es d'accord qu'il y avait un fwrite en C avant que | void* n'existe.
???
| J'espère aussi que tu ne crois pas que fwrite | a été inventé pour un autre langage.
???
| C'est tout ce que je peux | tirer de ce que j'ai écrit.
Non.
Tu crois que restrict existait avant que printf ne soit inventé pour C ?
| J'ai l'impression que tu vois plus dans mon message que ce | que j'ai écrit.
Tout ce que je crois, c'est que c'est une explication fallacieuse. Je ne lis pas plus que ce que tu as écris.
| Relis-le, il est encore en haut.
C'est fait à plusieurs reprises.
| Je vais prendre un Ah bon, ou tout autre forme similaire, | comme une approbation de mes propos... :-)
Ah bon ? (avec le ton de la ministre des chasseurs).