|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Senior Member
Iscritto dal: Jul 2002
Città: Napoli
Messaggi: 1964
|
[C++] Convertire stringa da maiuscolo a minusco ....
Ho una stringa di n caratteri maiuscoli e mi serve poterla convertire in minuscolo.. esiste qualche procedura già pronta in c++ ho devo scrivermi io un algoritmo facendo riferimento al codice ascii ?
|
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 414
|
Non so se esiste gia una funzione fatta ma dato che il problema è cosi banale ecco a lei:
Codice:
char * uppercase(char * str) { for(int i=0;str[i]!='\0';i++) if(str[i]>='a'&&str[i]<='z')str[i]-=32; return str; } Ultima modifica di tglman : 02-05-2005 alle 11:17. |
![]() |
![]() |
![]() |
#3 | |
Moderatore
Iscritto dal: Nov 2003
Messaggi: 16211
|
Quote:
... e poi, funziona se la codifica per il testo è ASCII, ma non se è EBCDIC. E non c'è scritto da nessuna parte che la codifica per il testo debba essere ASCII e non possa essere EBCDIC. Io userei isupper() e tolower() (definite nell'header ctype.h). Dimenticavo: la funzione scritta così fallisce se il suo argomento è una costante stringa.
__________________
Ubuntu è un'antica parola africana che significa "non so configurare Debian" ![]() Scienza e tecnica: Matematica - Fisica - Chimica - Informatica - Software scientifico - Consulti medici REGOLAMENTO DarthMaul = Asus FX505 Ryzen 7 3700U 8GB GeForce GTX 1650 Win10 + Ubuntu Ultima modifica di Ziosilvio : 02-05-2005 alle 13:32. |
|
![]() |
![]() |
![]() |
#4 | |
Senior Member
Iscritto dal: Jul 2002
Città: Napoli
Messaggi: 1964
|
Quote:
|
|
![]() |
![]() |
![]() |
#5 |
Senior Member
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 414
|
Scusate ho letto male ma è sufficente cambiare cosi
Codice:
char * lowercase(char * str) { for(int i=0;str[i]!='\0';i++) if(str[i]>='A'&&str[i]<='Z')str[i]+=32; return str; } Riguardo alla costante stringa cosa intende... Ciao. |
![]() |
![]() |
![]() |
#6 | |
Moderatore
Iscritto dal: Nov 2003
Messaggi: 16211
|
Quote:
Leggi la man page di Linux, l'help in linea dell'IDE, o l'appendice B del K&R.
__________________
Ubuntu è un'antica parola africana che significa "non so configurare Debian" ![]() Scienza e tecnica: Matematica - Fisica - Chimica - Informatica - Software scientifico - Consulti medici REGOLAMENTO DarthMaul = Asus FX505 Ryzen 7 3700U 8GB GeForce GTX 1650 Win10 + Ubuntu |
|
![]() |
![]() |
![]() |
#7 | |
Moderatore
Iscritto dal: Nov 2003
Messaggi: 16211
|
Quote:
Codice:
printf("%s\n",lowercase("HELLO WORLD")); EDIT: ammesso che l'output ci sia... io ho fatto una prova, e mi ha dato un Segmentation fault.
__________________
Ubuntu è un'antica parola africana che significa "non so configurare Debian" ![]() Scienza e tecnica: Matematica - Fisica - Chimica - Informatica - Software scientifico - Consulti medici REGOLAMENTO DarthMaul = Asus FX505 Ryzen 7 3700U 8GB GeForce GTX 1650 Win10 + Ubuntu Ultima modifica di Ziosilvio : 02-05-2005 alle 15:12. |
|
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 13:23.