|
|||||||
|
|
|
![]() |
|
|
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 12: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 14: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 16:12. |
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 16:25.



















