Bonjour à tous, je ne trouve pas de fonctions qui permettent de mettre une
std::string en minuscule ou en majuscule. En existe t-il ? Et si ce n'est
pas le cas, comment me conseillez vous de procéder ?
Bonjour à tous, je ne trouve pas de fonctions qui permettent de mettre une std::string en minuscule ou en majuscule. En existe t-il ? Et si ce n'est pas le cas, comment me conseillez vous de procéder ?
std::ctype<>::toupper() est ce qui est sense etre utilise, de la a dire que c'est utilisable, il faut vraissemblablement ne pas avoir a traiter l'allemand et admettre que repasser aux char* est une bonne chose.
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
"Guillaume Gourdin" <toto@toto.com> writes:
Bonjour à tous, je ne trouve pas de fonctions qui permettent de mettre une
std::string en minuscule ou en majuscule. En existe t-il ? Et si ce n'est
pas le cas, comment me conseillez vous de procéder ?
std::ctype<>::toupper() est ce qui est sense etre utilise, de la a
dire que c'est utilisable, il faut vraissemblablement ne pas avoir a
traiter l'allemand et admettre que repasser aux char* est une bonne
chose.
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
Bonjour à tous, je ne trouve pas de fonctions qui permettent de mettre une std::string en minuscule ou en majuscule. En existe t-il ? Et si ce n'est pas le cas, comment me conseillez vous de procéder ?
std::ctype<>::toupper() est ce qui est sense etre utilise, de la a dire que c'est utilisable, il faut vraissemblablement ne pas avoir a traiter l'allemand et admettre que repasser aux char* est une bonne chose.
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
kanze
Jean-Marc Bourguet wrote in message news:...
"Guillaume Gourdin" writes:
Bonjour à tous, je ne trouve pas de fonctions qui permettent de mettre une std::string en minuscule ou en majuscule. En existe t-il ? Et si ce n'est pas le cas, comment me conseillez vous de procéder ?
std::ctype<>::toupper() est ce qui est sense etre utilise, de la a dire que c'est utilisable, il faut vraissemblablement ne pas avoir a traiter l'allemand et admettre que repasser aux char* est une bonne chose.
Indépendamment de la méthode utilisée, il ne faut pas perdre de vue qu'une telle transformation perd toujours de l'information. Je n'arrive pas à rétrouver le document, mais dans le temps, il y avait sur le site Unicode une explication de comment on doit procéder dans une application interactive. Ce dont je me souviens très bien, c'était qu'il fallait garder la chaîne originale, précisemment parce qu'une fois la translation effectuée, c'était impossible à le réstituer si on ne l'avait pas garder. Le 'ß' de l'allemand est un exemple type -- il devient "SS", mais il y a aussi des "ss" en allemand qui devient "SS". (Il existe même des doublets du genre Masse/Maße. Selon les règles, quand un doublet existe, le 'ß' devient "SZ", et non "SS". Mais cette règle est peu connue, et souvent éfreinte. Ce qui fait que une fois arrivée à "MASSE", c'est impossible à revenir, même avec un dictionnaire.)
Aussi, les règles pour l'allemand sont différentes en Suisse qu'en Allemagne ou l'Autriche.
Même en français, il existe des conventions différentes pour les caractères accentués. Même si toutes les autorités semblent préférer que 'é' donne 'É', certains utilise la convention que 'é' donne 'E', voire même que ça dépend du contexte : 'É' en initial, mais 'E' ailleurs.
Et ce n'est qu'un début. Si on quitte l'Europe occidental...
-- 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
Jean-Marc Bourguet <jm@bourguet.org> wrote in message
news:<pxbisft7li2.fsf@news.bourguet.org>...
"Guillaume Gourdin" <toto@toto.com> writes:
Bonjour à tous, je ne trouve pas de fonctions qui permettent de mettre une
std::string en minuscule ou en majuscule. En existe t-il ? Et si ce n'est
pas le cas, comment me conseillez vous de procéder ?
std::ctype<>::toupper() est ce qui est sense etre utilise, de la a
dire que c'est utilisable, il faut vraissemblablement ne pas avoir a
traiter l'allemand et admettre que repasser aux char* est une bonne
chose.
Indépendamment de la méthode utilisée, il ne faut pas perdre de vue
qu'une telle transformation perd toujours de l'information. Je n'arrive
pas à rétrouver le document, mais dans le temps, il y avait sur le site
Unicode une explication de comment on doit procéder dans une application
interactive. Ce dont je me souviens très bien, c'était qu'il fallait
garder la chaîne originale, précisemment parce qu'une fois la
translation effectuée, c'était impossible à le réstituer si on ne
l'avait pas garder. Le 'ß' de l'allemand est un exemple type -- il
devient "SS", mais il y a aussi des "ss" en allemand qui devient "SS".
(Il existe même des doublets du genre Masse/Maße. Selon les règles,
quand un doublet existe, le 'ß' devient "SZ", et non "SS". Mais cette
règle est peu connue, et souvent éfreinte. Ce qui fait que une fois
arrivée à "MASSE", c'est impossible à revenir, même avec un
dictionnaire.)
Aussi, les règles pour l'allemand sont différentes en Suisse qu'en
Allemagne ou l'Autriche.
Même en français, il existe des conventions différentes pour les
caractères accentués. Même si toutes les autorités semblent préférer que
'é' donne 'É', certains utilise la convention que 'é' donne 'E', voire
même que ça dépend du contexte : 'É' en initial, mais 'E' ailleurs.
Et ce n'est qu'un début. Si on quitte l'Europe occidental...
--
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
Bonjour à tous, je ne trouve pas de fonctions qui permettent de mettre une std::string en minuscule ou en majuscule. En existe t-il ? Et si ce n'est pas le cas, comment me conseillez vous de procéder ?
std::ctype<>::toupper() est ce qui est sense etre utilise, de la a dire que c'est utilisable, il faut vraissemblablement ne pas avoir a traiter l'allemand et admettre que repasser aux char* est une bonne chose.
Indépendamment de la méthode utilisée, il ne faut pas perdre de vue qu'une telle transformation perd toujours de l'information. Je n'arrive pas à rétrouver le document, mais dans le temps, il y avait sur le site Unicode une explication de comment on doit procéder dans une application interactive. Ce dont je me souviens très bien, c'était qu'il fallait garder la chaîne originale, précisemment parce qu'une fois la translation effectuée, c'était impossible à le réstituer si on ne l'avait pas garder. Le 'ß' de l'allemand est un exemple type -- il devient "SS", mais il y a aussi des "ss" en allemand qui devient "SS". (Il existe même des doublets du genre Masse/Maße. Selon les règles, quand un doublet existe, le 'ß' devient "SZ", et non "SS". Mais cette règle est peu connue, et souvent éfreinte. Ce qui fait que une fois arrivée à "MASSE", c'est impossible à revenir, même avec un dictionnaire.)
Aussi, les règles pour l'allemand sont différentes en Suisse qu'en Allemagne ou l'Autriche.
Même en français, il existe des conventions différentes pour les caractères accentués. Même si toutes les autorités semblent préférer que 'é' donne 'É', certains utilise la convention que 'é' donne 'E', voire même que ça dépend du contexte : 'É' en initial, mais 'E' ailleurs.
Et ce n'est qu'un début. Si on quitte l'Europe occidental...
-- 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
Falk Tannhäuser
wrote:
Même en français, il existe des conventions différentes pour les caractères accentués. Même si toutes les autorités semblent préférer que 'é' donne 'É', certains utilise la convention que 'é' donne 'E' Ce qui donne par exemple "UN INTERNE TUE A L'ASILE PSYCHIATRIQUE"
- au moins 4 interprétations sont possibles...
Falk
kanze@gabi-soft.fr wrote:
Même en français, il existe des conventions différentes pour les
caractères accentués. Même si toutes les autorités semblent préférer que
'é' donne 'É', certains utilise la convention que 'é' donne 'E'
Ce qui donne par exemple "UN INTERNE TUE A L'ASILE PSYCHIATRIQUE"
Même en français, il existe des conventions différentes pour les caractères accentués. Même si toutes les autorités semblent préférer que 'é' donne 'É', certains utilise la convention que 'é' donne 'E' Ce qui donne par exemple "UN INTERNE TUE A L'ASILE PSYCHIATRIQUE"
- au moins 4 interprétations sont possibles...
Falk
Erwann ABALEA
On Thu, 22 Apr 2004, Falk Tannhäuser wrote:
wrote:
Même en français, il existe des conventions différentes pour les caractères accentués. Même si toutes les autorités semblent préférer que 'é' donne 'É', certains utilise la convention que 'é' donne 'E' Ce qui donne par exemple "UN INTERNE TUE A L'ASILE PSYCHIATRIQUE"
- au moins 4 interprétations sont possibles...
De toute façon, un mec qui gueule comme ça, il ne faut pas l'écouter... ;)
-- Erwann ABALEA - RSA PGP Key ID: 0x2D0EABD5 ----- Think carefully before wishing, it might just come true.
On Thu, 22 Apr 2004, Falk Tannhäuser wrote:
kanze@gabi-soft.fr wrote:
Même en français, il existe des conventions différentes pour les
caractères accentués. Même si toutes les autorités semblent préférer que
'é' donne 'É', certains utilise la convention que 'é' donne 'E'
Ce qui donne par exemple "UN INTERNE TUE A L'ASILE PSYCHIATRIQUE"
- au moins 4 interprétations sont possibles...
De toute façon, un mec qui gueule comme ça, il ne faut pas l'écouter... ;)
--
Erwann ABALEA <erwann@abalea.com> - RSA PGP Key ID: 0x2D0EABD5
-----
Think carefully before wishing, it might just come true.
Même en français, il existe des conventions différentes pour les caractères accentués. Même si toutes les autorités semblent préférer que 'é' donne 'É', certains utilise la convention que 'é' donne 'E' Ce qui donne par exemple "UN INTERNE TUE A L'ASILE PSYCHIATRIQUE"
- au moins 4 interprétations sont possibles...
De toute façon, un mec qui gueule comme ça, il ne faut pas l'écouter... ;)
-- Erwann ABALEA - RSA PGP Key ID: 0x2D0EABD5 ----- Think carefully before wishing, it might just come true.
Michel Michaud
Dans news:,
Jean-Marc Bourguet wrote in message news:...
"Guillaume Gourdin" writes:
Bonjour à tous, je ne trouve pas de fonctions qui permettent de mettre une std::string en minuscule ou en majuscule. En existe t-il ? Et si ce n'est pas le cas, comment me conseillez vous de procéder ?
La vraie question est de savoir à quoi cette conversion servirait.
[...]
Même en français, il existe des conventions différentes pour les caractères accentués. Même si toutes les autorités semblent préférer que 'é' donne 'É', certains utilise la convention que 'é'
« préférer » n'est pas le bon mot : les autorités « indiquent », « précisent », « jurent », etc. :-)
donne 'E', voire même que ça dépend du contexte : 'É' en initial, mais 'E' ailleurs.
Et ce n'est qu'un début. Si on quitte l'Europe occidental...
Effectivement. Alors dans un logiciel qui doit retrouver une valeur quand les majuscules/minuscules ne sont pas respectées, il ne faut pas convertir, mais bien utiliser un recherche approximative du genre « LIKE » et demander à l'utilisateur de choisir/confirmer qu'on a bien trouvé ce qu'il voulait si ce n'est pas parfaitement identique.
-- Michel Michaud http://www.gdzid.com FAQ de fr.comp.lang.c++ : http://www.cmla.ens-cachan.fr/~dosreis/C++/FAQ/
Dans news:d6652001.0404212353.6388689f@posting.google.com,
Jean-Marc Bourguet <jm@bourguet.org> wrote in message
news:<pxbisft7li2.fsf@news.bourguet.org>...
"Guillaume Gourdin" <toto@toto.com> writes:
Bonjour à tous, je ne trouve pas de fonctions qui permettent de
mettre une std::string en minuscule ou en majuscule. En existe
t-il ? Et si ce n'est pas le cas, comment me conseillez vous de
procéder ?
La vraie question est de savoir à quoi cette conversion servirait.
[...]
Même en français, il existe des conventions différentes pour les
caractères accentués. Même si toutes les autorités semblent
préférer que 'é' donne 'É', certains utilise la convention que 'é'
« préférer » n'est pas le bon mot : les autorités « indiquent »,
« précisent », « jurent », etc. :-)
donne 'E', voire
même que ça dépend du contexte : 'É' en initial, mais 'E' ailleurs.
Et ce n'est qu'un début. Si on quitte l'Europe occidental...
Effectivement. Alors dans un logiciel qui doit retrouver une valeur
quand les majuscules/minuscules ne sont pas respectées, il ne faut
pas convertir, mais bien utiliser un recherche approximative du
genre « LIKE » et demander à l'utilisateur de choisir/confirmer
qu'on a bien trouvé ce qu'il voulait si ce n'est pas parfaitement
identique.
--
Michel Michaud mm@gdzid.com
http://www.gdzid.com
FAQ de fr.comp.lang.c++ :
http://www.cmla.ens-cachan.fr/~dosreis/C++/FAQ/
Bonjour à tous, je ne trouve pas de fonctions qui permettent de mettre une std::string en minuscule ou en majuscule. En existe t-il ? Et si ce n'est pas le cas, comment me conseillez vous de procéder ?
La vraie question est de savoir à quoi cette conversion servirait.
[...]
Même en français, il existe des conventions différentes pour les caractères accentués. Même si toutes les autorités semblent préférer que 'é' donne 'É', certains utilise la convention que 'é'
« préférer » n'est pas le bon mot : les autorités « indiquent », « précisent », « jurent », etc. :-)
donne 'E', voire même que ça dépend du contexte : 'É' en initial, mais 'E' ailleurs.
Et ce n'est qu'un début. Si on quitte l'Europe occidental...
Effectivement. Alors dans un logiciel qui doit retrouver une valeur quand les majuscules/minuscules ne sont pas respectées, il ne faut pas convertir, mais bien utiliser un recherche approximative du genre « LIKE » et demander à l'utilisateur de choisir/confirmer qu'on a bien trouvé ce qu'il voulait si ce n'est pas parfaitement identique.
-- Michel Michaud http://www.gdzid.com FAQ de fr.comp.lang.c++ : http://www.cmla.ens-cachan.fr/~dosreis/C++/FAQ/
kanze
Falk Tannhäuser wrote in message news:...
wrote:
Même en français, il existe des conventions différentes pour les caractères accentués. Même si toutes les autorités semblent préférer que 'é' donne 'É', certains utilise la convention que 'é' donne 'E'
Ce qui donne par exemple "UN INTERNE TUE A L'ASILE PSYCHIATRIQUE" - au moins 4 interprétations sont possibles...
Je n'ai pas dit que c'était une bonne convention, seulement que c'en était une.
-- 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
Falk Tannhäuser <falk.tannhauser@crf.canon.fr> wrote in message
news:<40878213.75FF138A@crf.canon.fr>...
kanze@gabi-soft.fr wrote:
Même en français, il existe des conventions différentes pour les
caractères accentués. Même si toutes les autorités semblent préférer que
'é' donne 'É', certains utilise la convention que 'é' donne 'E'
Ce qui donne par exemple "UN INTERNE TUE A L'ASILE PSYCHIATRIQUE"
- au moins 4 interprétations sont possibles...
Je n'ai pas dit que c'était une bonne convention, seulement que c'en
était une.
--
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
Même en français, il existe des conventions différentes pour les caractères accentués. Même si toutes les autorités semblent préférer que 'é' donne 'É', certains utilise la convention que 'é' donne 'E'
Ce qui donne par exemple "UN INTERNE TUE A L'ASILE PSYCHIATRIQUE" - au moins 4 interprétations sont possibles...
Je n'ai pas dit que c'était une bonne convention, seulement que c'en était une.
-- 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
Jean-Marc Bourguet
writes:
Je n'arrive pas à rétrouver le document, mais dans le temps, il y avait sur le site Unicode une explication de comment on doit procéder dans une application interactive.
De memoire, 4 temps: majuscules, minuscule, titre, tel qu'entre.
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
kanze@gabi-soft.fr writes:
Je n'arrive pas à rétrouver le document, mais dans le temps, il y
avait sur le site Unicode une explication de comment on doit
procéder dans une application interactive.
De memoire, 4 temps: majuscules, minuscule, titre, tel qu'entre.
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
Je n'arrive pas à rétrouver le document, mais dans le temps, il y avait sur le site Unicode une explication de comment on doit procéder dans une application interactive.
De memoire, 4 temps: majuscules, minuscule, titre, tel qu'entre.
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
Alain Naigeon
"Erwann ABALEA" a écrit dans le message news:
On Thu, 22 Apr 2004, Falk Tannhäuser wrote:
wrote:
Même en français, il existe des conventions différentes pour les caractères accentués. Même si toutes les autorités semblent préférer que
'é' donne 'É', certains utilise la convention que 'é' donne 'E' Ce qui donne par exemple "UN INTERNE TUE A L'ASILE PSYCHIATRIQUE"
- au moins 4 interprétations sont possibles...
De toute façon, un mec qui gueule comme ça, il ne faut pas l'écouter... ;)
AH, MAIS OSE DONC REPETER QUE JE NE M'APPELLE PAS STROUSTRUP ! :-)
--
Français *==> "Musique renaissance" <==* English midi - facsimiles - ligatures - mensuration http://anaigeon.free.fr | http://www.medieval.org/emfaq/anaigeon/ Alain Naigeon - - Strasbourg, France
"Erwann ABALEA" <erwann@abalea.com> a écrit dans le message news:
Pine.LNX.4.33.0404221226230.19544-100000@patchwork.seclogd.org...
On Thu, 22 Apr 2004, Falk Tannhäuser wrote:
kanze@gabi-soft.fr wrote:
Même en français, il existe des conventions différentes pour les
caractères accentués. Même si toutes les autorités semblent préférer
que
'é' donne 'É', certains utilise la convention que 'é' donne 'E'
Ce qui donne par exemple "UN INTERNE TUE A L'ASILE PSYCHIATRIQUE"
- au moins 4 interprétations sont possibles...
De toute façon, un mec qui gueule comme ça, il ne faut pas l'écouter... ;)
AH, MAIS OSE DONC REPETER QUE JE NE M'APPELLE PAS STROUSTRUP ! :-)
--
Français *==> "Musique renaissance" <==* English
midi - facsimiles - ligatures - mensuration
http://anaigeon.free.fr | http://www.medieval.org/emfaq/anaigeon/
Alain Naigeon - anaigeon@free.fr - Strasbourg, France
Même en français, il existe des conventions différentes pour les caractères accentués. Même si toutes les autorités semblent préférer que
'é' donne 'É', certains utilise la convention que 'é' donne 'E' Ce qui donne par exemple "UN INTERNE TUE A L'ASILE PSYCHIATRIQUE"
- au moins 4 interprétations sont possibles...
De toute façon, un mec qui gueule comme ça, il ne faut pas l'écouter... ;)
AH, MAIS OSE DONC REPETER QUE JE NE M'APPELLE PAS STROUSTRUP ! :-)
--
Français *==> "Musique renaissance" <==* English midi - facsimiles - ligatures - mensuration http://anaigeon.free.fr | http://www.medieval.org/emfaq/anaigeon/ Alain Naigeon - - Strasbourg, France
kanze
"Michel Michaud" wrote in message news:<TYPhc.64934$...
Dans news:,
Jean-Marc Bourguet wrote in message news:...
"Guillaume Gourdin" writes:
Bonjour à tous, je ne trouve pas de fonctions qui permettent de mettre une std::string en minuscule ou en majuscule. En existe t-il ? Et si ce n'est pas le cas, comment me conseillez vous de procéder ?
La vraie question est de savoir à quoi cette conversion servirait.
Tout à fait. Si c'est pour traiter les symboles dans un compilateur Pascal (qui n'admet que les 26 lettres de base), std::codecvt fait bien l'affaire. À condition, comme Jean-Marc a signalé, de n'utiliser que les chaînes de type C.
[...]
Même en français, il existe des conventions différentes pour les caractères accentués. Même si toutes les autorités semblent préférer que 'é' donne 'É', certains utilise la convention que 'é'
« préférer » n'est pas le bon mot : les autorités « indiquent », « précisent », « jurent », etc. :-)
C'est vrai. Ce sont des « autorités », donc, ils « exigent »:-).
donne 'E', voire même que ça dépend du contexte : 'É' en initial, mais 'E' ailleurs.
Et ce n'est qu'un début. Si on quitte l'Europe occidental...
Effectivement. Alors dans un logiciel qui doit retrouver une valeur quand les majuscules/minuscules ne sont pas respectées, il ne faut pas convertir, mais bien utiliser un recherche approximative du genre « LIKE » et demander à l'utilisateur de choisir/confirmer qu'on a bien trouvé ce qu'il voulait si ce n'est pas parfaitement identique.
Il y a plusieurs solutions, selon ce qu'on veut faire. Mais il ne faut pas être naîf. Si on veut comparer sans tenir compte de la case, il faut commencer par définir ce que signifie « égal » dans ce cas-là. C'est loin d'être évident.
Et si c'est certain que l'intéractif est le moyen le plus sûr d'arriver à ce que veut l'utilisateur, ce n'est pas toujours une option possible.
-- 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:<TYPhc.64934$Gp4.1622835@news20.bellglobal.com>...
Dans news:d6652001.0404212353.6388689f@posting.google.com,
Jean-Marc Bourguet <jm@bourguet.org> wrote in message
news:<pxbisft7li2.fsf@news.bourguet.org>...
"Guillaume Gourdin" <toto@toto.com> writes:
Bonjour à tous, je ne trouve pas de fonctions qui permettent de
mettre une std::string en minuscule ou en majuscule. En existe
t-il ? Et si ce n'est pas le cas, comment me conseillez vous de
procéder ?
La vraie question est de savoir à quoi cette conversion servirait.
Tout à fait. Si c'est pour traiter les symboles dans un compilateur
Pascal (qui n'admet que les 26 lettres de base), std::codecvt fait bien
l'affaire. À condition, comme Jean-Marc a signalé, de n'utiliser que les
chaînes de type C.
[...]
Même en français, il existe des conventions différentes pour les
caractères accentués. Même si toutes les autorités semblent préférer
que 'é' donne 'É', certains utilise la convention que 'é'
« préférer » n'est pas le bon mot : les autorités « indiquent »,
« précisent », « jurent », etc. :-)
C'est vrai. Ce sont des « autorités », donc, ils « exigent »:-).
donne 'E', voire
même que ça dépend du contexte : 'É' en initial, mais 'E' ailleurs.
Et ce n'est qu'un début. Si on quitte l'Europe occidental...
Effectivement. Alors dans un logiciel qui doit retrouver une valeur
quand les majuscules/minuscules ne sont pas respectées, il ne faut
pas convertir, mais bien utiliser un recherche approximative du
genre « LIKE » et demander à l'utilisateur de choisir/confirmer
qu'on a bien trouvé ce qu'il voulait si ce n'est pas parfaitement
identique.
Il y a plusieurs solutions, selon ce qu'on veut faire. Mais il ne faut
pas être naîf. Si on veut comparer sans tenir compte de la case, il faut
commencer par définir ce que signifie « égal » dans ce cas-là. C'est
loin d'être évident.
Et si c'est certain que l'intéractif est le moyen le plus sûr d'arriver
à ce que veut l'utilisateur, ce n'est pas toujours une option possible.
--
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:<TYPhc.64934$...
Dans news:,
Jean-Marc Bourguet wrote in message news:...
"Guillaume Gourdin" writes:
Bonjour à tous, je ne trouve pas de fonctions qui permettent de mettre une std::string en minuscule ou en majuscule. En existe t-il ? Et si ce n'est pas le cas, comment me conseillez vous de procéder ?
La vraie question est de savoir à quoi cette conversion servirait.
Tout à fait. Si c'est pour traiter les symboles dans un compilateur Pascal (qui n'admet que les 26 lettres de base), std::codecvt fait bien l'affaire. À condition, comme Jean-Marc a signalé, de n'utiliser que les chaînes de type C.
[...]
Même en français, il existe des conventions différentes pour les caractères accentués. Même si toutes les autorités semblent préférer que 'é' donne 'É', certains utilise la convention que 'é'
« préférer » n'est pas le bon mot : les autorités « indiquent », « précisent », « jurent », etc. :-)
C'est vrai. Ce sont des « autorités », donc, ils « exigent »:-).
donne 'E', voire même que ça dépend du contexte : 'É' en initial, mais 'E' ailleurs.
Et ce n'est qu'un début. Si on quitte l'Europe occidental...
Effectivement. Alors dans un logiciel qui doit retrouver une valeur quand les majuscules/minuscules ne sont pas respectées, il ne faut pas convertir, mais bien utiliser un recherche approximative du genre « LIKE » et demander à l'utilisateur de choisir/confirmer qu'on a bien trouvé ce qu'il voulait si ce n'est pas parfaitement identique.
Il y a plusieurs solutions, selon ce qu'on veut faire. Mais il ne faut pas être naîf. Si on veut comparer sans tenir compte de la case, il faut commencer par définir ce que signifie « égal » dans ce cas-là. C'est loin d'être évident.
Et si c'est certain que l'intéractif est le moyen le plus sûr d'arriver à ce que veut l'utilisateur, ce n'est pas toujours une option possible.
-- 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
Jean-Marc Bourguet wrote in message news:...
writes:
Je n'arrive pas à rétrouver le document, mais dans le temps, il y avait sur le site Unicode une explication de comment on doit procéder dans une application interactive.
De memoire, 4 temps: majuscules, minuscule, titre, tel qu'entre.
Surtout, qu'il fallait sauvegarder la forme initiale tant que la possibilité de faire marche en arrière doit exister.
-- 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
Jean-Marc Bourguet <jm@bourguet.org> wrote in message
news:<pxbisfsm1o9.fsf@news.bourguet.org>...
kanze@gabi-soft.fr writes:
Je n'arrive pas à rétrouver le document, mais dans le temps, il y
avait sur le site Unicode une explication de comment on doit
procéder dans une application interactive.
De memoire, 4 temps: majuscules, minuscule, titre, tel qu'entre.
Surtout, qu'il fallait sauvegarder la forme initiale tant que la
possibilité de faire marche en arrière doit exister.
--
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
Je n'arrive pas à rétrouver le document, mais dans le temps, il y avait sur le site Unicode une explication de comment on doit procéder dans une application interactive.
De memoire, 4 temps: majuscules, minuscule, titre, tel qu'entre.
Surtout, qu'il fallait sauvegarder la forme initiale tant que la possibilité de faire marche en arrière doit exister.
-- 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