Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
3110 connectés 

  FORUM HardWare.fr
  Programmation
  C++

  qqn connait une fonction qui met une chaine de cara en majuscules ??

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

qqn connait une fonction qui met une chaine de cara en majuscules ??

n°235195
red factio​n
Posté le 26-10-2002 à 19:50:48  profilanswer
 

tout est dans le titre  :)

mood
Publicité
Posté le 26-10-2002 à 19:50:48  profilanswer
 

n°235196
Marnie
Posté le 26-10-2002 à 19:51:28  profilanswer
 

lower() ?


---------------
Prison d'été, prison d'hiver, prison d'automne et de printemps, bagne pour petits et grands - Prévert, Le Roi et l'Oiseau
n°235198
red factio​n
Posté le 26-10-2002 à 19:53:27  profilanswer
 

en fait jen ai besoin dans une recherche pour eviter que les majuscules soit prises en compte (avec strcmp)


Message édité par red faction le 26-10-2002 à 19:55:00
n°235199
Marnie
Posté le 26-10-2002 à 19:54:18  profilanswer
 

Code :
  1. int lower(int c) {
  2.   if (c >= 'A' && c <= 'Z')
  3.     return c + 'a' - 'A';
  4.   else
  5.     return c;
  6. }
  7. int upper(int c) {
  8.   if (c >= 'a' && c <= 'z')
  9.     return c + 'A' - 'a';
  10.   else
  11.     return c;
  12. }


Message édité par Marnie le 26-10-2002 à 19:57:54

---------------
Prison d'été, prison d'hiver, prison d'automne et de printemps, bagne pour petits et grands - Prévert, Le Roi et l'Oiseau
n°235200
Marnie
Posté le 26-10-2002 à 19:54:37  profilanswer
 

red faction a écrit a écrit :

upper() plutot merci jarrive plus a tomber sur le nom



Oups, désolée.


---------------
Prison d'été, prison d'hiver, prison d'automne et de printemps, bagne pour petits et grands - Prévert, Le Roi et l'Oiseau
n°235202
Marnie
Posté le 26-10-2002 à 19:58:52  profilanswer
 

red faction a écrit a écrit :

en fait jen ai besoin dans une recherche pour eviter que les majuscules soit prises en compte (avec strcmp)



Ben, tu fais un upper() de ta chaine et tu fais un strcmp ensuite, non ?


---------------
Prison d'été, prison d'hiver, prison d'automne et de printemps, bagne pour petits et grands - Prévert, Le Roi et l'Oiseau
n°235227
Taz@PPC
saloperie de i=`expr $i + 1`;
Posté le 26-10-2002 à 21:08:08  profilanswer
 

upper n'existe pas
 
 
dans <ctype.h>
 
int tolower(int c);
int toupper(int c);


---------------
du bon usage de rand [C] / [C++]
n°235254
fabsk
Posté le 26-10-2002 à 21:55:28  profilanswer
 

Marnie a écrit a écrit :

Code :
  1. int lower(int c) {
  2.   if (c >= 'A' && c <= 'Z')
  3.     return c + 'a' - 'A';
  4.   else
  5.     return c;
  6. }
  7. int upper(int c) {
  8.   if (c >= 'a' && c <= 'z')
  9.     return c + 'A' - 'a';
  10.   else
  11.     return c;
  12. }






 
Marche pas en ebcdic :)

n°235257
Taz@PPC
saloperie de i=`expr $i + 1`;
Posté le 26-10-2002 à 21:58:15  profilanswer
 

ebdic ou pas ca marche pas qu'est ce qui te dis que les majuscules ont de scodes plus petits que les minuscules (ou l'inverse) tes calculs vont merder suivant que les char sont signés ou pas
 
les fonctions standards, caibonmangezen


---------------
du bon usage de rand [C] / [C++]
n°235304
Marnie
Posté le 26-10-2002 à 23:30:29  profilanswer
 

Taz@PPC a écrit a écrit :

ebdic ou pas ca marche pas qu'est ce qui te dis que les majuscules ont de scodes plus petits que les minuscules (ou l'inverse) tes calculs vont merder suivant que les char sont signés ou pas
 
les fonctions standards, caibonmangezen



Je tire ça du K&R (page 41).


---------------
Prison d'été, prison d'hiver, prison d'automne et de printemps, bagne pour petits et grands - Prévert, Le Roi et l'Oiseau
mood
Publicité
Posté le 26-10-2002 à 23:30:29  profilanswer
 

n°235318
Cherrytree
cn=?
Posté le 26-10-2002 à 23:39:16  profilanswer
 

Taz@PPC a écrit a écrit :

ebdic ou pas ca marche pas qu'est ce qui te dis que les majuscules ont de scodes plus petits que les minuscules (ou l'inverse) tes calculs vont merder suivant que les char sont signés ou pas


Je suis pas bien persuadé de la justesse de ton argument dans ce cas. Un int tient généralement sur 4 octets, un char sur 1. Donc, la signature ou non de c, on s'en moque, puisque le bit de signature n'est pas significatif dans le test des fonctions lower et upper. Je vois pas où est le problème. Seul cas : c'est quand les lettres qui composent l'alphabet ne sont pas contigues.


---------------
Le site de ma maman
n°235348
Taz@PPC
saloperie de i=`expr $i + 1`;
Posté le 27-10-2002 à 00:29:51  profilanswer
 

mais qu'est ce que vous cherchez: cette fonction est standard!
 
quant à la page 43 du K&R, il est précisé  

Citation :

en ASCII seulement


CQFD
 
quant à ma remarque sur les types signé, je ferais quand meme gaffe...
 
pitié utilisez toupper et tolower
 


---------------
du bon usage de rand [C] / [C++]
n°235350
chrisbk
-
Posté le 27-10-2002 à 00:51:48  profilanswer
 

pour ce genre de chose y'a aussi stricmp mais je sais pas si c vraiment standart

n°235357
Marnie
Posté le 27-10-2002 à 01:58:51  profilanswer
 

Taz@PPC a écrit a écrit :

mais qu'est ce que vous cherchez: cette fonction est standard!
 
quant à la page 43 du K&R, il est précisé  

Citation :

en ASCII seulement


CQFD
 
quant à ma remarque sur les types signé, je ferais quand meme gaffe...
 
pitié utilisez toupper et tolower
 
 



:jap:


---------------
Prison d'été, prison d'hiver, prison d'automne et de printemps, bagne pour petits et grands - Prévert, Le Roi et l'Oiseau
n°235358
Cherrytree
cn=?
Posté le 27-10-2002 à 01:59:25  profilanswer
 

Taz@PPC a écrit a écrit :

mais qu'est ce que vous cherchez: cette fonction est standard!
 
quant à la page 43 du K&R, il est précisé  

Citation :

en ASCII seulement


CQFD
 
quant à ma remarque sur les types signé, je ferais quand meme gaffe...
 
pitié utilisez toupper et tolower
 
 



Acknowledged. OK, pour la remarque sur ASCII et EBCDIC. OK pour les fonctions standard. Cela dit, rien n'empêche de coder sa propre fonction, ne serait-ce que pour comprendre.


---------------
Le site de ma maman
n°235453
Musaran
Cerveaulté
Posté le 27-10-2002 à 02:33:08  profilanswer
 

En C, le calcul se fait sur un int (euh... je crois), et devrait marcher.
En C++, il devrait se faire sur un char, et les débordements peuvent être drôles.
Disons que ce serait déjà mieux comme ça:

Code :
  1. return c + ('A' - 'a');


 
Mais pourquoi prendre des risques et réinventer la roue ?

Code :
  1. #include <ctype.h>
  2. //copie en minuscule
  3. void strcpylow(char* target, const char* source){
  4. while(*target++= tolower(*source++);
  5. }
  6. //copie en majuscules
  7. void strcpyup(char* target, const char* source){
  8. while(*target++= toupper(*source++);
  9. }
  10. //transforme en minuscule
  11. void strlow(char* str){
  12. for( ; *str= tolower(*str) ; str++ );
  13. }
  14. //transforme en majuscules
  15. void strup(char* str){
  16. for( ; *str= toupper(*str) ; str++ );
  17. }


---------------
Bricocheap: Montage de ventilo sur paté de mastic silicone
n°235496
Taz@PPC
saloperie de i=`expr $i + 1`;
Posté le 27-10-2002 à 11:34:05  profilanswer
 

Amen.  :jap:  
 
Je suis d'accord: cette fonction est dans le K&R come beaucoup d'autres dans un but didactique et présente une imlémentation possible.
Voilà  :hello:


---------------
du bon usage de rand [C] / [C++]
n°235679
red factio​n
Posté le 27-10-2002 à 23:21:05  profilanswer
 

Quoi quil en soit merci, ca maide bcp


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C++

  qqn connait une fonction qui met une chaine de cara en majuscules ??

 

Sujets relatifs
recupérer un entier a partir d'une chaine...qqn connait un bon site de reference ?
SQL SERVER et la fonction TRIM[VB(A)] Problème avec la fonction API DeleteMenu. . .
getText ! si quelqu'un connait un minimum qu'il se montre !!![C] Problème très con sur une fonction apparemment super simple
[PHP] rendre un parametre optionnel pour une fonctionnom de la fonction appelante
demande de validation d'une fonction en c avec des pointeurs[PHP] aidez moi à améliorer une fonction :( regex ?
Plus de sujets relatifs à : qqn connait une fonction qui met une chaine de cara en majuscules ??


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR