Torna indietro   Hardware Upgrade Forum > Software > Programmazione

FRITZ!Repeater 1700 estende la rete super-veloce Wi-Fi 7
FRITZ!Repeater 1700 estende la rete super-veloce Wi-Fi 7
FRITZ!Repeater 1700 porta il Wi-Fi 7 dual-band nelle case connesse. Mette a disposizione fino a 2.880 Mbit/s su 5 GHz e 688 Mbit/s su 2,4 GHz, integrazione Mesh immediata via WPS con FRITZ!Box e funzioni smart come MLO per bassa latenza. Compatto, plug-and-play e pronto per il futuro, è la soluzione ideale per chi vuole coprire ogni angolo senza cavi o complicazioni
Fondazione Chips-IT, l'Italia alla riscossa nei chip. Il piano e la partnership EssilorLuxottica
Fondazione Chips-IT, l'Italia alla riscossa nei chip. Il piano e la partnership EssilorLuxottica
La Fondazione Chips-IT ha presentato a Pavia il piano strategico 2026-2028 per rafforzare l'ecosistema italiano dei semiconduttori. Con un focus su ricerca, design, talenti e infrastrutture, la Fondazione punta a consolidare il ruolo dell'Italia nel Chips Act europeo, sostenendo innovazione, collaborazione industriale e sovranità tecnologica.
Nutanix: innovazione, semplicità e IA al centro della strategia hybrid multicloud
Nutanix: innovazione, semplicità e IA al centro della strategia hybrid multicloud
Al Museo Alfa Romeo di Arese, Nutanix ha riunito clienti, partner ed esperti per .Next On Tour Italia e per mostrare come l’infrastruttura hybrid multicloud possa diventare il fondamento dell’innovazione, con una piattaforma capace di unificare applicazioni tradizionali, moderne architetture cloud-native e nuovi scenari basati sull’intelligenza artificiale
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 02-05-2005, 10:01   #1
leon84
Senior Member
 
L'Avatar di leon84
 
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 ?
leon84 è offline   Rispondi citando il messaggio o parte di esso
Old 02-05-2005, 12:14   #2
tglman
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.
tglman è offline   Rispondi citando il messaggio o parte di esso
Old 02-05-2005, 14:30   #3
Ziosilvio
Moderatore
 
L'Avatar di Ziosilvio
 
Iscritto dal: Nov 2003
Messaggi: 16212
Quote:
Originariamente inviato da tglman
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;
}
A parte il fatto che questo codice converte minuscole in maiuscole, e non il contrario...
... 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" Chi scherza col fuoco si brucia.
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.
Ziosilvio è offline   Rispondi citando il messaggio o parte di esso
Old 02-05-2005, 15:21   #4
leon84
Senior Member
 
L'Avatar di leon84
 
Iscritto dal: Jul 2002
Città: Napoli
Messaggi: 1964
Quote:
Originariamente inviato da Ziosilvio
A parte il fatto che questo codice converte minuscole in maiuscole, e non il contrario...
... 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.
queste due funzioni prendono in ingresso semplicemente la stringa ????
leon84 è offline   Rispondi citando il messaggio o parte di esso
Old 02-05-2005, 15:31   #5
tglman
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;
}
Si questo codice va bene per una codifica ascii e non per altre codifiche ma comunque quando crei un programma sai la codifica che usi (almeno lo spero).
Riguardo alla costante stringa cosa intende...

Ciao.
tglman è offline   Rispondi citando il messaggio o parte di esso
Old 02-05-2005, 16:00   #6
Ziosilvio
Moderatore
 
L'Avatar di Ziosilvio
 
Iscritto dal: Nov 2003
Messaggi: 16212
Quote:
Originariamente inviato da leon84
queste due funzioni prendono in ingresso semplicemente la stringa ????
No, un singolo carattere.
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" Chi scherza col fuoco si brucia.
Scienza e tecnica: Matematica - Fisica - Chimica - Informatica - Software scientifico - Consulti medici
REGOLAMENTO DarthMaul = Asus FX505 Ryzen 7 3700U 8GB GeForce GTX 1650 Win10 + Ubuntu
Ziosilvio è offline   Rispondi citando il messaggio o parte di esso
Old 02-05-2005, 16:03   #7
Ziosilvio
Moderatore
 
L'Avatar di Ziosilvio
 
Iscritto dal: Nov 2003
Messaggi: 16212
Quote:
Originariamente inviato da tglman
Riguardo alla costante stringa cosa intende...
Che se fai una cosa del tipo:
Codice:
    printf("%s\n",lowercase("HELLO WORLD"));
l'output sara' HELLO WORLD e non 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" Chi scherza col fuoco si brucia.
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.
Ziosilvio è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


FRITZ!Repeater 1700 estende la rete super-veloce Wi-Fi 7 FRITZ!Repeater 1700 estende la rete super-veloce...
Fondazione Chips-IT, l'Italia alla riscossa nei chip. Il piano e la partnership EssilorLuxottica Fondazione Chips-IT, l'Italia alla riscossa nei ...
Nutanix: innovazione, semplicità e IA al centro della strategia hybrid multicloud Nutanix: innovazione, semplicità e IA al ...
Lenovo LOQ 15i Gen 10 (15IRX10) alla prova: il notebook gaming 'budget' che non ti aspetti Lenovo LOQ 15i Gen 10 (15IRX10) alla prova: il n...
Due mesi di Battlefield 6: dalla campagna al battle royale, è l'FPS che stavamo aspettando Due mesi di Battlefield 6: dalla campagna al bat...
Amazon Haul rilancia: sui nuovi arrivi s...
Il prezzo della Steam Machine potrebbe e...
Ratti con una postazione da gaming enthu...
Samsung Galaxy S26: a causa dell'IA potr...
Xiaomi esagera: in arrivo uno smartphone...
La crisi delle memorie colpirà an...
I giovani russi non ci stanno: ondata di...
Dal sogno della guida autonoma al fallim...
Antitrust UE: maxi multa da 72 milioni a...
Il futuro dei chip è verticale: R...
Accenture e Anthropic insieme per aiutar...
Fino a 360 GB su un vetro grande come un...
tado° porta il bilanciamento idrauli...
Metallo liquido o solido? Entrambi, cont...
iPhone 17 Pro Max in offerta su Amazon: ...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 08:49.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Served by www3v