mais
que developpez.com ne le connaisse pas, c'est plus embetant...
mais
que developpez.com ne le connaisse pas, c'est plus embetant...
mais
que developpez.com ne le connaisse pas, c'est plus embetant...
J'ai cru comprendre que sous Windows, Microsoft aurait tendance à
abandonner totalement les char, et d'utiliser Unicode à la place.
Ce qui, je crois, évite le problème que je citais ci-dessus.
J'ai cru comprendre que sous Windows, Microsoft aurait tendance à
abandonner totalement les char, et d'utiliser Unicode à la place.
Ce qui, je crois, évite le problème que je citais ci-dessus.
J'ai cru comprendre que sous Windows, Microsoft aurait tendance à
abandonner totalement les char, et d'utiliser Unicode à la place.
Ce qui, je crois, évite le problème que je citais ci-dessus.
La solution avec transform serait quelque chose du
genre :
typedef std::ctype< char >
Cvt ;
std::transform(
source.begin(), source.end(),
std::back_inserter( dest ),
std::bind1st(
std::mem_fun(
static_cast< char (Cvt::*)( char ) const >(
&Cvt::tolower ) ),
&std::use_facet< Cvt >( std::locale() ) ) ) ;
Sans oublier d'initialiser le locale global avant.
La solution avec transform serait quelque chose du
genre :
typedef std::ctype< char >
Cvt ;
std::transform(
source.begin(), source.end(),
std::back_inserter( dest ),
std::bind1st(
std::mem_fun(
static_cast< char (Cvt::*)( char ) const >(
&Cvt::tolower ) ),
&std::use_facet< Cvt >( std::locale() ) ) ) ;
Sans oublier d'initialiser le locale global avant.
La solution avec transform serait quelque chose du
genre :
typedef std::ctype< char >
Cvt ;
std::transform(
source.begin(), source.end(),
std::back_inserter( dest ),
std::bind1st(
std::mem_fun(
static_cast< char (Cvt::*)( char ) const >(
&Cvt::tolower ) ),
&std::use_facet< Cvt >( std::locale() ) ) ) ;
Sans oublier d'initialiser le locale global avant.
La solution avec transform serait quelque chose du
genre :
typedef std::ctype< char >
Cvt ;
std::transform(
source.begin(), source.end(),
std::back_inserter( dest ),
std::bind1st(
std::mem_fun(
static_cast< char (Cvt::*)( char ) const >(
&Cvt::tolower ) ),
&std::use_facet< Cvt >( std::locale() ) ) ) ;
Sans oublier d'initialiser le locale global avant.
Ca me fait penser à un film : Scanners. Ca parle de gens capables de
faire exploser le cerveau d'autres presonnes à distance.
La solution avec transform serait quelque chose du
genre :
typedef std::ctype< char >
Cvt ;
std::transform(
source.begin(), source.end(),
std::back_inserter( dest ),
std::bind1st(
std::mem_fun(
static_cast< char (Cvt::*)( char ) const >(
&Cvt::tolower ) ),
&std::use_facet< Cvt >( std::locale() ) ) ) ;
Sans oublier d'initialiser le locale global avant.
Ca me fait penser à un film : Scanners. Ca parle de gens capables de
faire exploser le cerveau d'autres presonnes à distance.
La solution avec transform serait quelque chose du
genre :
typedef std::ctype< char >
Cvt ;
std::transform(
source.begin(), source.end(),
std::back_inserter( dest ),
std::bind1st(
std::mem_fun(
static_cast< char (Cvt::*)( char ) const >(
&Cvt::tolower ) ),
&std::use_facet< Cvt >( std::locale() ) ) ) ;
Sans oublier d'initialiser le locale global avant.
Ca me fait penser à un film : Scanners. Ca parle de gens capables de
faire exploser le cerveau d'autres presonnes à distance.
Allez, encore un petit effort et on t'offre un point Godwin ;-)
Allez, encore un petit effort et on t'offre un point Godwin ;-)
Allez, encore un petit effort et on t'offre un point Godwin ;-)
On 16 Nov 2005 01:02:15 -0800, "kanze" :Par exemple, donnée la
chaîne, "M. DUPONT M'AMENE A LA FETE D'ETE", je m'attendrais à
"M. Dupont m'amène à la fête d'été".
Houlà !
D'une part, ça ne répond pas à la question, puisqu'il reste
des majuscules.
D'autre part, tu fais de la correction orthographique : le mot
"FETE" est incorrect ; le mot "FÊTE" (ou "fête") l'est. Ben
oui, les accents sont obligatoires en français, même sur les
majuscules.
Enfin bon, si on sait qu'on travaille sur du texte en français
(sans fautes d'orthographe), la conversion n'est pas trop
difficile.
Mais quid de l'allemand ? Si j'ai bien compris, le "ß" se
transforme en "SS" en majuscules. Mais est-ce qu'un "SS" se
transforme systématiquement en "ß" ?
On 16 Nov 2005 01:02:15 -0800, "kanze" <kanze@gabi-soft.fr>:
Par exemple, donnée la
chaîne, "M. DUPONT M'AMENE A LA FETE D'ETE", je m'attendrais à
"M. Dupont m'amène à la fête d'été".
Houlà !
D'une part, ça ne répond pas à la question, puisqu'il reste
des majuscules.
D'autre part, tu fais de la correction orthographique : le mot
"FETE" est incorrect ; le mot "FÊTE" (ou "fête") l'est. Ben
oui, les accents sont obligatoires en français, même sur les
majuscules.
Enfin bon, si on sait qu'on travaille sur du texte en français
(sans fautes d'orthographe), la conversion n'est pas trop
difficile.
Mais quid de l'allemand ? Si j'ai bien compris, le "ß" se
transforme en "SS" en majuscules. Mais est-ce qu'un "SS" se
transforme systématiquement en "ß" ?
On 16 Nov 2005 01:02:15 -0800, "kanze" :Par exemple, donnée la
chaîne, "M. DUPONT M'AMENE A LA FETE D'ETE", je m'attendrais à
"M. Dupont m'amène à la fête d'été".
Houlà !
D'une part, ça ne répond pas à la question, puisqu'il reste
des majuscules.
D'autre part, tu fais de la correction orthographique : le mot
"FETE" est incorrect ; le mot "FÊTE" (ou "fête") l'est. Ben
oui, les accents sont obligatoires en français, même sur les
majuscules.
Enfin bon, si on sait qu'on travaille sur du texte en français
(sans fautes d'orthographe), la conversion n'est pas trop
difficile.
Mais quid de l'allemand ? Si j'ai bien compris, le "ß" se
transforme en "SS" en majuscules. Mais est-ce qu'un "SS" se
transforme systématiquement en "ß" ?
Yoxoman écrivait:La solution avec transform serait quelque chose du
genre :
typedef std::ctype< char >
Cvt ;
std::transform(
source.begin(), source.end(),
std::back_inserter( dest ),
std::bind1st(
std::mem_fun(
static_cast< char (Cvt::*)( char ) const >(
&Cvt::tolower ) ),
&std::use_facet< Cvt >( std::locale() ) ) ) ;
Sans oublier d'initialiser le locale global avant.
Ca me fait penser à un film : Scanners. Ca parle de gens
capables de faire exploser le cerveau d'autres presonnes à
distance.
Si c'est le static_cast<> qui t'ennuie, tu peux l'enelever.
Yoxoman <yoxoman@aol.com> écrivait:
La solution avec transform serait quelque chose du
genre :
typedef std::ctype< char >
Cvt ;
std::transform(
source.begin(), source.end(),
std::back_inserter( dest ),
std::bind1st(
std::mem_fun(
static_cast< char (Cvt::*)( char ) const >(
&Cvt::tolower ) ),
&std::use_facet< Cvt >( std::locale() ) ) ) ;
Sans oublier d'initialiser le locale global avant.
Ca me fait penser à un film : Scanners. Ca parle de gens
capables de faire exploser le cerveau d'autres presonnes à
distance.
Si c'est le static_cast<> qui t'ennuie, tu peux l'enelever.
Yoxoman écrivait:La solution avec transform serait quelque chose du
genre :
typedef std::ctype< char >
Cvt ;
std::transform(
source.begin(), source.end(),
std::back_inserter( dest ),
std::bind1st(
std::mem_fun(
static_cast< char (Cvt::*)( char ) const >(
&Cvt::tolower ) ),
&std::use_facet< Cvt >( std::locale() ) ) ) ;
Sans oublier d'initialiser le locale global avant.
Ca me fait penser à un film : Scanners. Ca parle de gens
capables de faire exploser le cerveau d'autres presonnes à
distance.
Si c'est le static_cast<> qui t'ennuie, tu peux l'enelever.
On 16 Nov 2005 01:46:10 -0800, "kanze" :Maintenant, si tu as le caractère char(192) à convertir,
comment fais-tu ?
(Je crois que le supporte pour les locales est mieux sous
Linux.)
J'ai cru comprendre que sous Windows, Microsoft aurait
tendance à abandonner totalement les char, et d'utiliser
Unicode à la place. Ce qui, je crois, évite le problème que je
citais ci-dessus.
On 16 Nov 2005 01:46:10 -0800, "kanze" <kanze@gabi-soft.fr>:
Maintenant, si tu as le caractère char(192) à convertir,
comment fais-tu ?
(Je crois que le supporte pour les locales est mieux sous
Linux.)
J'ai cru comprendre que sous Windows, Microsoft aurait
tendance à abandonner totalement les char, et d'utiliser
Unicode à la place. Ce qui, je crois, évite le problème que je
citais ci-dessus.
On 16 Nov 2005 01:46:10 -0800, "kanze" :Maintenant, si tu as le caractère char(192) à convertir,
comment fais-tu ?
(Je crois que le supporte pour les locales est mieux sous
Linux.)
J'ai cru comprendre que sous Windows, Microsoft aurait
tendance à abandonner totalement les char, et d'utiliser
Unicode à la place. Ce qui, je crois, évite le problème que je
citais ci-dessus.
Fabien LE LEZ wrote:J'ai cru comprendre que sous Windows, Microsoft aurait
tendance à abandonner totalement les char, et d'utiliser
Unicode à la place. Ce qui, je crois, évite le problème que
je citais ci-dessus.
Utiliser de l'Unicode ne résoud pas le problème en soi... il
faut spécifier aussi l'encodage (UTF16 dans le cas de
Windows). Les puristes te diront ensuite que c'est insuffisant
vu que la totalité des "code points" d'Unicode ne tiens pas
sur 16 bits, mais çà c'est un peu la faute du comité Unicode
qui a changé d'avis en cours de route .... Et puis, d'ici à ce
que tu ais besoin des langages correspondant aux codes points
supérieurs à 0xffffffff dans ton application...
20000..2A6DF; CJK Unified Ideographs Extension B
2F800..2FA1F; CJK Compatibility Ideographs Supplement
Fabien LE LEZ wrote:
J'ai cru comprendre que sous Windows, Microsoft aurait
tendance à abandonner totalement les char, et d'utiliser
Unicode à la place. Ce qui, je crois, évite le problème que
je citais ci-dessus.
Utiliser de l'Unicode ne résoud pas le problème en soi... il
faut spécifier aussi l'encodage (UTF16 dans le cas de
Windows). Les puristes te diront ensuite que c'est insuffisant
vu que la totalité des "code points" d'Unicode ne tiens pas
sur 16 bits, mais çà c'est un peu la faute du comité Unicode
qui a changé d'avis en cours de route .... Et puis, d'ici à ce
que tu ais besoin des langages correspondant aux codes points
supérieurs à 0xffffffff dans ton application...
20000..2A6DF; CJK Unified Ideographs Extension B
2F800..2FA1F; CJK Compatibility Ideographs Supplement
Fabien LE LEZ wrote:J'ai cru comprendre que sous Windows, Microsoft aurait
tendance à abandonner totalement les char, et d'utiliser
Unicode à la place. Ce qui, je crois, évite le problème que
je citais ci-dessus.
Utiliser de l'Unicode ne résoud pas le problème en soi... il
faut spécifier aussi l'encodage (UTF16 dans le cas de
Windows). Les puristes te diront ensuite que c'est insuffisant
vu que la totalité des "code points" d'Unicode ne tiens pas
sur 16 bits, mais çà c'est un peu la faute du comité Unicode
qui a changé d'avis en cours de route .... Et puis, d'ici à ce
que tu ais besoin des langages correspondant aux codes points
supérieurs à 0xffffffff dans ton application...
20000..2A6DF; CJK Unified Ideographs Extension B
2F800..2FA1F; CJK Compatibility Ideographs Supplement