J'aimerais ecrire en c++ l'equivalent de
printf("%8.8x-%4.4x-%4.4x-%2.2x%2.2x-", u.time_low,
u.time_mid,u.time_hi_and_version,
u.clock_seq_hi_and_reserved,u.clock_seq_low);
Je suis sous visual c++.
Quelqu'un sait-il comment faire pour remplacer tous les formattages %x.x?
"Plotark" a écrit dans le message de news:c4r70l$9gb$
Bonjour a tous,
J'aimerais ecrire en c++ l'equivalent de printf("%8.8x-%4.4x-%4.4x-%2.2x%2.2x-", u.time_low, u.time_mid,u.time_hi_and_version, u.clock_seq_hi_and_reserved,u.clock_seq_low);
Je suis sous visual c++.
Quelqu'un sait-il comment faire pour remplacer tous les formattages %x.x?
Plotark
tu peux déjà faire :
cout.printf("%8.8x-%4.4x-%4.4x-%2.2x%2.2x-", u.time_low, u.time_mid,u.time_hi_and_version,u.clock_seq_hi_and_reserved,u.clock_seq_low ); mais ce n'est qu'un pis-aller... Regardes la doc de basic_ostream, il existe des fonctions membres (setprecision par exemple) et des modificateurs pour changer le format de la sortie. Bonne chance !
"Plotark" <plotark.nospam@ifrance.com> a écrit dans le message de
news:c4r70l$9gb$1@netserv.univ-lille1.fr...
Bonjour a tous,
J'aimerais ecrire en c++ l'equivalent de
printf("%8.8x-%4.4x-%4.4x-%2.2x%2.2x-", u.time_low,
u.time_mid,u.time_hi_and_version,
u.clock_seq_hi_and_reserved,u.clock_seq_low);
Je suis sous visual c++.
Quelqu'un sait-il comment faire pour remplacer tous les formattages %x.x?
Plotark
tu peux déjà faire :
cout.printf("%8.8x-%4.4x-%4.4x-%2.2x%2.2x-", u.time_low,
u.time_mid,u.time_hi_and_version,u.clock_seq_hi_and_reserved,u.clock_seq_low
);
mais ce n'est qu'un pis-aller...
Regardes la doc de basic_ostream, il existe des fonctions membres
(setprecision par exemple) et des modificateurs pour changer le format de la
sortie.
Bonne chance !
"Plotark" a écrit dans le message de news:c4r70l$9gb$
Bonjour a tous,
J'aimerais ecrire en c++ l'equivalent de printf("%8.8x-%4.4x-%4.4x-%2.2x%2.2x-", u.time_low, u.time_mid,u.time_hi_and_version, u.clock_seq_hi_and_reserved,u.clock_seq_low);
Je suis sous visual c++.
Quelqu'un sait-il comment faire pour remplacer tous les formattages %x.x?
Plotark
tu peux déjà faire :
cout.printf("%8.8x-%4.4x-%4.4x-%2.2x%2.2x-", u.time_low, u.time_mid,u.time_hi_and_version,u.clock_seq_hi_and_reserved,u.clock_seq_low ); mais ce n'est qu'un pis-aller... Regardes la doc de basic_ostream, il existe des fonctions membres (setprecision par exemple) et des modificateurs pour changer le format de la sortie. Bonne chance !
Michel Michaud
Dans news:c4r70l$9gb$,
Quelqu'un sait-il comment faire pour remplacer tous les formattages %x.x?
Par exemple pour %8.8x, une fois pour toute :
... << right << setfill('0') << hex
puis ... << setw(8) << laValeur ...
-- Michel Michaud http://www.gdzid.com FAQ de fr.comp.lang.c++ : http://www.cmla.ens-cachan.fr/~dosreis/C++/FAQ/
Dans news:c4r70l$9gb$1@netserv.univ-lille1.fr,
Quelqu'un sait-il comment faire pour remplacer tous les formattages
%x.x?
Par exemple pour %8.8x, une fois pour toute :
... << right << setfill('0') << hex
puis
... << setw(8) << laValeur ...
--
Michel Michaud mm@gdzid.com
http://www.gdzid.com
FAQ de fr.comp.lang.c++ :
http://www.cmla.ens-cachan.fr/~dosreis/C++/FAQ/
Quelqu'un sait-il comment faire pour remplacer tous les formattages %x.x?
Par exemple pour %8.8x, une fois pour toute :
... << right << setfill('0') << hex
puis ... << setw(8) << laValeur ...
-- Michel Michaud http://www.gdzid.com FAQ de fr.comp.lang.c++ : http://www.cmla.ens-cachan.fr/~dosreis/C++/FAQ/
Hylvenir
tu peux déjà faire : cout.printf("%8.8x-%4.4x-%4.4x-%2.2x%2.2x-", u.time_low, u.time_mid,u.time_hi_and_version,u.clock_seq_hi_and_reserved,u.clock_seq_low ); mais ce n'est qu'un pis-aller...
On parle bien de C++ là ? cout.printf ? il n'y a pas de méthode printf sur cout.
tu peux déjà faire :
cout.printf("%8.8x-%4.4x-%4.4x-%2.2x%2.2x-", u.time_low,
u.time_mid,u.time_hi_and_version,u.clock_seq_hi_and_reserved,u.clock_seq_low
);
mais ce n'est qu'un pis-aller...
On parle bien de C++ là ?
cout.printf ? il n'y a pas de méthode printf sur cout.
tu peux déjà faire : cout.printf("%8.8x-%4.4x-%4.4x-%2.2x%2.2x-", u.time_low, u.time_mid,u.time_hi_and_version,u.clock_seq_hi_and_reserved,u.clock_seq_low ); mais ce n'est qu'un pis-aller...
On parle bien de C++ là ? cout.printf ? il n'y a pas de méthode printf sur cout.
kanze
"Michel Michaud" wrote in message news:<4Iocc.16991$...
Dans news:c4r70l$9gb$,
Quelqu'un sait-il comment faire pour remplacer tous les formattages %x.x?
Par exemple pour %8.8x, une fois pour toute :
... << right << setfill('0') << hex
puis ... << setw(8) << laValeur ...
Maintenant, pour %8.6x, comment fais-tu ?
Moi, je fais : std::cout << GB_Format( "%8.6x" ).with( x ) << 'n' ; Mais évidemment, il faut télécharge la bibliothèque de ma site d'abord:-). Et l'installer -- la version sur ma site n'a pas été testé avec VC++.
-- James Kanze GABI Software mailto: Conseils en informatique orientée objet/ http://www.gabi-soft.fr Beratung in objektorientierter Datenverarbeitung 9 place Sémard, 78210 St.-Cyr-l'École, France, +33 (0)1 30 23 00 34
"Michel Michaud" <mm@gdzid.com> wrote in message
news:<4Iocc.16991$wq4.837223@news20.bellglobal.com>...
Dans news:c4r70l$9gb$1@netserv.univ-lille1.fr,
Quelqu'un sait-il comment faire pour remplacer tous les formattages
%x.x?
Par exemple pour %8.8x, une fois pour toute :
... << right << setfill('0') << hex
puis
... << setw(8) << laValeur ...
Maintenant, pour %8.6x, comment fais-tu ?
Moi, je fais :
std::cout << GB_Format( "%8.6x" ).with( x ) << 'n' ;
Mais évidemment, il faut télécharge la bibliothèque de ma site
d'abord:-). Et l'installer -- la version sur ma site n'a pas été testé
avec VC++.
--
James Kanze GABI Software mailto:kanze@gabi-soft.fr
Conseils en informatique orientée objet/ http://www.gabi-soft.fr
Beratung in objektorientierter Datenverarbeitung
9 place Sémard, 78210 St.-Cyr-l'École, France, +33 (0)1 30 23 00 34
"Michel Michaud" wrote in message news:<4Iocc.16991$...
Dans news:c4r70l$9gb$,
Quelqu'un sait-il comment faire pour remplacer tous les formattages %x.x?
Par exemple pour %8.8x, une fois pour toute :
... << right << setfill('0') << hex
puis ... << setw(8) << laValeur ...
Maintenant, pour %8.6x, comment fais-tu ?
Moi, je fais : std::cout << GB_Format( "%8.6x" ).with( x ) << 'n' ; Mais évidemment, il faut télécharge la bibliothèque de ma site d'abord:-). Et l'installer -- la version sur ma site n'a pas été testé avec VC++.
-- James Kanze GABI Software mailto: Conseils en informatique orientée objet/ http://www.gabi-soft.fr Beratung in objektorientierter Datenverarbeitung 9 place Sémard, 78210 St.-Cyr-l'École, France, +33 (0)1 30 23 00 34
Michel Michaud
Dans news:,
"Michel Michaud" wrote in message news:<4Iocc.16991$...
Dans news:c4r70l$9gb$,
Quelqu'un sait-il comment faire pour remplacer tous les formattages %x.x?
Par exemple pour %8.8x, une fois pour toute :
... << right << setfill('0') << hex
puis ... << setw(8) << laValeur ...
Maintenant, pour %8.6x, comment fais-tu ?
Ce n'est ce qu'il demandait (%x.x). Si tu veux dire qu'il y a des choses difficiles à faire avec les manipulateurs, alors qu'elles sont faciles avec printf et compagnie, c'est vrai, mais l'inverse est vrai aussi. Comment fais-tu ceci avec printf ?
Tu me diras que ce n'est pas très utile, mais je crois que %8.6x non plus !
-- Michel Michaud http://www.gdzid.com FAQ de fr.comp.lang.c++ : http://www.cmla.ens-cachan.fr/~dosreis/C++/FAQ/
Dans news:d6652001.0404060325.5f30f68e@posting.google.com,
"Michel Michaud" <mm@gdzid.com> wrote in message
news:<4Iocc.16991$wq4.837223@news20.bellglobal.com>...
Dans news:c4r70l$9gb$1@netserv.univ-lille1.fr,
Quelqu'un sait-il comment faire pour remplacer tous les
formattages %x.x?
Par exemple pour %8.8x, une fois pour toute :
... << right << setfill('0') << hex
puis
... << setw(8) << laValeur ...
Maintenant, pour %8.6x, comment fais-tu ?
Ce n'est ce qu'il demandait (%x.x). Si tu veux dire qu'il y a
des choses difficiles à faire avec les manipulateurs, alors
qu'elles sont faciles avec printf et compagnie, c'est vrai,
mais l'inverse est vrai aussi. Comment fais-tu ceci avec printf ?
"Michel Michaud" wrote in message news:<4Iocc.16991$...
Dans news:c4r70l$9gb$,
Quelqu'un sait-il comment faire pour remplacer tous les formattages %x.x?
Par exemple pour %8.8x, une fois pour toute :
... << right << setfill('0') << hex
puis ... << setw(8) << laValeur ...
Maintenant, pour %8.6x, comment fais-tu ?
Ce n'est ce qu'il demandait (%x.x). Si tu veux dire qu'il y a des choses difficiles à faire avec les manipulateurs, alors qu'elles sont faciles avec printf et compagnie, c'est vrai, mais l'inverse est vrai aussi. Comment fais-tu ceci avec printf ?
On Tue, 6 Apr 2004 21:05:40 +0200, "Alexandre" wrote:
Ceci dit (mais je pinaille) printf c'est du C, *donc* du C++ ;-)
::printf, oui. cout.printf, non.
-- ;-)
Amerio
Plotark wrote:
Bonjour a tous,
J'aimerais ecrire en c++ l'equivalent de printf("%8.8x-%4.4x-%4.4x-%2.2x%2.2x-", u.time_low, u.time_mid,u.time_hi_and_version, u.clock_seq_hi_and_reserved,u.clock_seq_low);
Je suis sous visual c++.
Quelqu'un sait-il comment faire pour remplacer tous les formattages %x.x?
Si tu veux garder la même syntaxe, il y a boost::format qui accepte les même entrées que printf.
J'aimerais ecrire en c++ l'equivalent de
printf("%8.8x-%4.4x-%4.4x-%2.2x%2.2x-", u.time_low,
u.time_mid,u.time_hi_and_version,
u.clock_seq_hi_and_reserved,u.clock_seq_low);
Je suis sous visual c++.
Quelqu'un sait-il comment faire pour remplacer tous les formattages %x.x?
Si tu veux garder la même syntaxe, il y a boost::format qui accepte les même
entrées que printf.
J'aimerais ecrire en c++ l'equivalent de printf("%8.8x-%4.4x-%4.4x-%2.2x%2.2x-", u.time_low, u.time_mid,u.time_hi_and_version, u.clock_seq_hi_and_reserved,u.clock_seq_low);
Je suis sous visual c++.
Quelqu'un sait-il comment faire pour remplacer tous les formattages %x.x?
Si tu veux garder la même syntaxe, il y a boost::format qui accepte les même entrées que printf.
"Michel Michaud" wrote in message news:<4Nzcc.18913$...
Dans news:,
"Michel Michaud" wrote in message news:<4Iocc.16991$...
Dans news:c4r70l$9gb$,
Quelqu'un sait-il comment faire pour remplacer tous les formattages %x.x?
Par exemple pour %8.8x, une fois pour toute :
... << right << setfill('0') << hex
puis ... << setw(8) << laValeur ...
Maintenant, pour %8.6x, comment fais-tu ?
Ce n'est ce qu'il demandait (%x.x).
Mais ce qu'il démandait s'écrit la plupart du temps %08x en C, non %8.8x. J'ai donc supposé un problème plus général.
Si tu veux dire qu'il y a des choses difficiles à faire avec les manipulateurs, alors qu'elles sont faciles avec printf et compagnie, c'est vrai, mais l'inverse est vrai aussi.
À vrai dire, mon point était plutôt qu'avec GB_Format, on pouvait faire *tout* ce qu'on fait avec printf, tout en restant en C++, avec la sécurité des types et les possibilités de définir des formattages pour les types utilisateur (des operator<<) et des destinations nouvelles (des dérivations de streambuf).
Tu n'as pas besoin de chercher aussi loin. Comment sortir un type std::complex avec printf ? Ou n'importe quel type défini par l'utilisateur ? Vers un socket, de préférence.
Tu n'as pas besoin de me convaincre des limitations de printf.
Tu me diras que ce n'est pas très utile, mais je crois que %8.6x non plus !
Je ne sais pas. Il correspond bien à des « PIC ##999999 » de Cobol ou des « USING "##999999" » de Basic. C-à-d que dans certaines applications commerciales, peut-être...
En fait, j'ai surtout vue ce genre de chose avec des décimaux à virule flottant, du genre « PIC ##999.99 ». Ce qui n'est possible ni avec printf ni avec iostream. Mais étant donné qu'il n'y a pas de type revenir à l'utilité, je crois que quelque chose du genre :
n'est pas sans utilité. (Mais si j'en avais besoin, j'avoue que je créerais des manipulateurs propres, du genre ToCLabel et ToCPageNumber, afin de pouvoir écrire :
std::cout << ToCLabel( 40 ) << title[ i ] << ToCPageNumber( 2 ) << page[ i ] << 'n' ;
AMHA, c'est bien plus lisible, et en dérivant de GB_StateSavingManip, ce n'est vraiment que peu de code.
-- James Kanze GABI Software mailto: Conseils en informatique orientée objet/ http://www.gabi-soft.fr Beratung in objektorientierter Datenverarbeitung 9 place Sémard, 78210 St.-Cyr-l'École, France, +33 (0)1 30 23 00 34
"Michel Michaud" <mm@gdzid.com> wrote in message
news:<4Nzcc.18913$wq4.995752@news20.bellglobal.com>...
Dans news:d6652001.0404060325.5f30f68e@posting.google.com,
"Michel Michaud" <mm@gdzid.com> wrote in message
news:<4Iocc.16991$wq4.837223@news20.bellglobal.com>...
Dans news:c4r70l$9gb$1@netserv.univ-lille1.fr,
Quelqu'un sait-il comment faire pour remplacer tous les
formattages %x.x?
Par exemple pour %8.8x, une fois pour toute :
... << right << setfill('0') << hex
puis
... << setw(8) << laValeur ...
Maintenant, pour %8.6x, comment fais-tu ?
Ce n'est ce qu'il demandait (%x.x).
Mais ce qu'il démandait s'écrit la plupart du temps %08x en C, non
%8.8x. J'ai donc supposé un problème plus général.
Si tu veux dire qu'il y a des choses difficiles à faire avec les
manipulateurs, alors qu'elles sont faciles avec printf et compagnie,
c'est vrai, mais l'inverse est vrai aussi.
À vrai dire, mon point était plutôt qu'avec GB_Format, on pouvait faire
*tout* ce qu'on fait avec printf, tout en restant en C++, avec la
sécurité des types et les possibilités de définir des formattages pour
les types utilisateur (des operator<<) et des destinations nouvelles
(des dérivations de streambuf).
Tu n'as pas besoin de chercher aussi loin. Comment sortir un type
std::complex avec printf ? Ou n'importe quel type défini par
l'utilisateur ? Vers un socket, de préférence.
Tu n'as pas besoin de me convaincre des limitations de printf.
Tu me diras que ce n'est pas très utile, mais je crois que %8.6x non
plus !
Je ne sais pas. Il correspond bien à des « PIC ##999999 » de Cobol ou
des « USING "##999999" » de Basic. C-à-d que dans certaines applications
commerciales, peut-être...
En fait, j'ai surtout vue ce genre de chose avec des décimaux à virule
flottant, du genre « PIC ##999.99 ». Ce qui n'est possible ni avec
printf ni avec iostream. Mais étant donné qu'il n'y a pas de type
revenir à l'utilité, je crois que quelque chose du genre :
n'est pas sans utilité. (Mais si j'en avais besoin, j'avoue que je
créerais des manipulateurs propres, du genre ToCLabel et ToCPageNumber,
afin de pouvoir écrire :
std::cout
<< ToCLabel( 40 ) << title[ i ]
<< ToCPageNumber( 2 ) << page[ i ]
<< 'n' ;
AMHA, c'est bien plus lisible, et en dérivant de GB_StateSavingManip, ce
n'est vraiment que peu de code.
--
James Kanze GABI Software mailto:kanze@gabi-soft.fr
Conseils en informatique orientée objet/ http://www.gabi-soft.fr
Beratung in objektorientierter Datenverarbeitung
9 place Sémard, 78210 St.-Cyr-l'École, France, +33 (0)1 30 23 00 34
"Michel Michaud" wrote in message news:<4Nzcc.18913$...
Dans news:,
"Michel Michaud" wrote in message news:<4Iocc.16991$...
Dans news:c4r70l$9gb$,
Quelqu'un sait-il comment faire pour remplacer tous les formattages %x.x?
Par exemple pour %8.8x, une fois pour toute :
... << right << setfill('0') << hex
puis ... << setw(8) << laValeur ...
Maintenant, pour %8.6x, comment fais-tu ?
Ce n'est ce qu'il demandait (%x.x).
Mais ce qu'il démandait s'écrit la plupart du temps %08x en C, non %8.8x. J'ai donc supposé un problème plus général.
Si tu veux dire qu'il y a des choses difficiles à faire avec les manipulateurs, alors qu'elles sont faciles avec printf et compagnie, c'est vrai, mais l'inverse est vrai aussi.
À vrai dire, mon point était plutôt qu'avec GB_Format, on pouvait faire *tout* ce qu'on fait avec printf, tout en restant en C++, avec la sécurité des types et les possibilités de définir des formattages pour les types utilisateur (des operator<<) et des destinations nouvelles (des dérivations de streambuf).
Tu n'as pas besoin de chercher aussi loin. Comment sortir un type std::complex avec printf ? Ou n'importe quel type défini par l'utilisateur ? Vers un socket, de préférence.
Tu n'as pas besoin de me convaincre des limitations de printf.
Tu me diras que ce n'est pas très utile, mais je crois que %8.6x non plus !
Je ne sais pas. Il correspond bien à des « PIC ##999999 » de Cobol ou des « USING "##999999" » de Basic. C-à-d que dans certaines applications commerciales, peut-être...
En fait, j'ai surtout vue ce genre de chose avec des décimaux à virule flottant, du genre « PIC ##999.99 ». Ce qui n'est possible ni avec printf ni avec iostream. Mais étant donné qu'il n'y a pas de type revenir à l'utilité, je crois que quelque chose du genre :
n'est pas sans utilité. (Mais si j'en avais besoin, j'avoue que je créerais des manipulateurs propres, du genre ToCLabel et ToCPageNumber, afin de pouvoir écrire :
std::cout << ToCLabel( 40 ) << title[ i ] << ToCPageNumber( 2 ) << page[ i ] << 'n' ;
AMHA, c'est bien plus lisible, et en dérivant de GB_StateSavingManip, ce n'est vraiment que peu de code.
-- James Kanze GABI Software mailto: Conseils en informatique orientée objet/ http://www.gabi-soft.fr Beratung in objektorientierter Datenverarbeitung 9 place Sémard, 78210 St.-Cyr-l'École, France, +33 (0)1 30 23 00 34
kanze
"Amerio" wrote in message news:<zqFcc.378688$...
Plotark wrote:
J'aimerais ecrire en c++ l'equivalent de printf("%8.8x-%4.4x-%4.4x-%2.2x%2.2x-", u.time_low, u.time_mid,u.time_hi_and_version, u.clock_seq_hi_and_reserved,u.clock_seq_low);
Je suis sous visual c++.
Quelqu'un sait-il comment faire pour remplacer tous les formattages %x.x?
Si tu veux garder la même syntaxe, il y a boost::format qui accepte les même entrées que printf.
Tu en es sûr. Il me semblait qu'il y en avait qu'il ne comprenait pas, et que la précision sur un entier en était un. (Je ne suis pas sûr. je ne l'ai pas sous la main pour vérifier.)
GB_Format les accepte. Mais j'avoue que la décision de les supporter revient plutôt d'une relevé d'un défi que d'une décision consciente de leur nécessité ou de leur utilité.
-- James Kanze GABI Software mailto: Conseils en informatique orientée objet/ http://www.gabi-soft.fr Beratung in objektorientierter Datenverarbeitung 9 place Sémard, 78210 St.-Cyr-l'École, France, +33 (0)1 30 23 00 34
"Amerio" <amerio@hotmail.com> wrote in message
news:<zqFcc.378688$Or1.340270@news.chello.at>...
Plotark wrote:
J'aimerais ecrire en c++ l'equivalent de
printf("%8.8x-%4.4x-%4.4x-%2.2x%2.2x-", u.time_low,
u.time_mid,u.time_hi_and_version,
u.clock_seq_hi_and_reserved,u.clock_seq_low);
Je suis sous visual c++.
Quelqu'un sait-il comment faire pour remplacer tous les formattages
%x.x?
Si tu veux garder la même syntaxe, il y a boost::format qui accepte
les même entrées que printf.
Tu en es sûr. Il me semblait qu'il y en avait qu'il ne comprenait pas,
et que la précision sur un entier en était un. (Je ne suis pas sûr. je
ne l'ai pas sous la main pour vérifier.)
GB_Format les accepte. Mais j'avoue que la décision de les supporter
revient plutôt d'une relevé d'un défi que d'une décision consciente de
leur nécessité ou de leur utilité.
--
James Kanze GABI Software mailto:kanze@gabi-soft.fr
Conseils en informatique orientée objet/ http://www.gabi-soft.fr
Beratung in objektorientierter Datenverarbeitung
9 place Sémard, 78210 St.-Cyr-l'École, France, +33 (0)1 30 23 00 34
J'aimerais ecrire en c++ l'equivalent de printf("%8.8x-%4.4x-%4.4x-%2.2x%2.2x-", u.time_low, u.time_mid,u.time_hi_and_version, u.clock_seq_hi_and_reserved,u.clock_seq_low);
Je suis sous visual c++.
Quelqu'un sait-il comment faire pour remplacer tous les formattages %x.x?
Si tu veux garder la même syntaxe, il y a boost::format qui accepte les même entrées que printf.
Tu en es sûr. Il me semblait qu'il y en avait qu'il ne comprenait pas, et que la précision sur un entier en était un. (Je ne suis pas sûr. je ne l'ai pas sous la main pour vérifier.)
GB_Format les accepte. Mais j'avoue que la décision de les supporter revient plutôt d'une relevé d'un défi que d'une décision consciente de leur nécessité ou de leur utilité.
-- James Kanze GABI Software mailto: Conseils en informatique orientée objet/ http://www.gabi-soft.fr Beratung in objektorientierter Datenverarbeitung 9 place Sémard, 78210 St.-Cyr-l'École, France, +33 (0)1 30 23 00 34