Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Recensione vivo X300 Pro: è ancora lui il re della fotografia mobile, peccato per la batteria
Recensione vivo X300 Pro: è ancora lui il re della fotografia mobile, peccato per la batteria
vivo X300 Pro rappresenta un'evoluzione misurata della serie fotografica del produttore cinese, con un sistema di fotocamere migliorato, chipset Dimensity 9500 di ultima generazione e l'arrivo dell'interfaccia OriginOS 6 anche sui modelli internazionali. La scelta di limitare la batteria a 5.440mAh nel mercato europeo, rispetto ai 6.510mAh disponibili altrove, fa storcere un po' il naso
Lenovo Legion Go 2: Ryzen Z2 Extreme e OLED 8,8'' per spingere gli handheld gaming PC al massimo
Lenovo Legion Go 2: Ryzen Z2 Extreme e OLED 8,8'' per spingere gli handheld gaming PC al massimo
Lenovo Legion Go 2 è la nuova handheld PC gaming con processore AMD Ryzen Z2 Extreme (8 core Zen 5/5c, GPU RDNA 3.5 16 CU) e schermo OLED 8,8" 1920x1200 144Hz. È dotata anche di controller rimovibili TrueStrike con joystick Hall effect e una batteria da 74Wh. Rispetto al dispositivo che l'ha preceduta, migliora ergonomia e prestazioni a basse risoluzioni, ma pesa 920g e costa 1.299€ nella configurazione con 32GB RAM/1TB SSD e Z2 Extreme
AWS re:Invent 2025: inizia l'era dell'AI-as-a-Service con al centro gli agenti
AWS re:Invent 2025: inizia l'era dell'AI-as-a-Service con al centro gli agenti
A re:Invent 2025, AWS mostra un’evoluzione profonda della propria strategia: l’IA diventa una piattaforma di servizi sempre più pronta all’uso, con agenti e modelli preconfigurati che accelerano lo sviluppo, mentre il cloud resta la base imprescindibile per governare dati, complessità e lock-in in uno scenario sempre più orientato all’hybrid cloud
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 03-10-2006, 20:03   #1
Goten_ssj
Senior Member
 
Iscritto dal: Oct 2006
Messaggi: 352
[c++] Da Stringa a ASCII

il problema è semplice..
devo fare un programma in c++ che data una stringa mi restituisca il codice ascii della stringa inserita...

ad esempio inserisco "ciao" e mi restituisce ttt il codice ASCII in fila per ogni lettera...
nn so se mi sn fatto capire...
Goten_ssj è offline   Rispondi citando il messaggio o parte di esso
Old 03-10-2006, 20:35   #2
okay
Senior Member
 
Iscritto dal: Feb 2002
Messaggi: 906
Quote:
Originariamente inviato da Goten_ssj
il problema è semplice..
devo fare un programma in c++ che data una stringa mi restituisca il codice ascii della stringa inserita...

ad esempio inserisco "ciao" e mi restituisce ttt il codice ASCII in fila per ogni lettera...
nn so se mi sn fatto capire...
leggi un bytes alla volta e fai:
per decimale usi atoi();
per esadecimale usi sprintf(hex, "%02x" stringa & 0xff);


ciao
okay è offline   Rispondi citando il messaggio o parte di esso
Old 03-10-2006, 20:39   #3
Goten_ssj
Senior Member
 
Iscritto dal: Oct 2006
Messaggi: 352
e se sono lettere??
cioè..se uno immette "ho 2 gatti"
mi dovrebbe restituire l'ascii del carattere h + o + spazio + 2 + spazio + g + a + t + t + i tutto attaccato...
io ci ho provato ma non so proprio come fare...
Goten_ssj è offline   Rispondi citando il messaggio o parte di esso
Old 03-10-2006, 21:18   #4
Qu@ker
Member
 
Iscritto dal: Apr 2004
Messaggi: 130
Codice:
#include <iostream>
#include <string>
#include <iomanip>

int main(void)
{
	std::string esempio = "Ho 2 gatti";

	std::cout.fill('0');
	for (size_t i = 0; i != esempio.length(); ++i)
		std::cout << std::hex << std::setw(2)
                            << static_cast<int>(esempio[i]);
	std::cout << std::endl;
}
Qu@ker è offline   Rispondi citando il messaggio o parte di esso
Old 03-10-2006, 21:20   #5
andbin
Senior Member
 
L'Avatar di andbin
 
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
Non si deve usare atoi(), perché essa fa una conversione da un numero contenuto in una stringa a un valore numerico (es. "12" -> 12).
Il valore contenuto in un char è già di per sé il codice ASCII del carattere!

Codice:
string s = "ho 2 gatti";

for (int i=0; i<s.length(); i++)
    cout << (int) s.at (i) << " ";

cout << endl;
facendo il cast ad int, stampo il valore numerico del carattere, che è il suo codice ASCII.
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%)
andbin è offline   Rispondi citando il messaggio o parte di esso
Old 03-10-2006, 21:22   #6
Goten_ssj
Senior Member
 
Iscritto dal: Oct 2006
Messaggi: 352
mi ero dimenticato di dire che io lavoro con il C++ Builder della Borland e quindi in ambiente visuale...

nn ho mai usato il comando cout e non so se funzioni in visuale...me lo spiegate?
Goten_ssj è offline   Rispondi citando il messaggio o parte di esso
Old 03-10-2006, 21:29   #7
Goten_ssj
Senior Member
 
Iscritto dal: Oct 2006
Messaggi: 352
Quote:
Originariamente inviato da Qu@ker
Codice:
#include <iostream>
#include <string>
#include <iomanip>

int main(void)
{
	std::string esempio = "Ho 2 gatti";

	std::cout.fill('0');
	for (size_t i = 0; i != esempio.length(); ++i)
		std::cout << std::hex << std::setw(2)
                            << static_cast<int>(esempio[i]);
	std::cout << std::endl;
}
ok...questo codice non mi dà errori...adesso il problema è capirlo e inserirlo nel mio bottone :P
Goten_ssj è offline   Rispondi citando il messaggio o parte di esso
Old 03-10-2006, 21:32   #8
Goten_ssj
Senior Member
 
Iscritto dal: Oct 2006
Messaggi: 352
non capisco:

std::
cout
cout.fill
<<
size_t
static_cast
end1


scusate, ma sono davvero niubbo in questo linguaggio e non vorrei disturbarvi troppo però se mi aiutate magari raggiungo i vostri livelli...e soprattutto desidererei capire come avete imparato e dove avete accresciuto le vostre conoscenze?


ringrazio ttt...
Goten_ssj è offline   Rispondi citando il messaggio o parte di esso
Old 04-10-2006, 10:42   #9
Goten_ssj
Senior Member
 
Iscritto dal: Oct 2006
Messaggi: 352
lo so che è sempre difficile aiutare i niubbi xò nn penso sia così lungo da spiegare..
Goten_ssj è offline   Rispondi citando il messaggio o parte di esso
Old 04-10-2006, 11:03   #10
andbin
Senior Member
 
L'Avatar di andbin
 
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
Quote:
Originariamente inviato da Goten_ssj
non capisco:

std::
cout
cout.fill
<<
size_t
static_cast
end1
std è un "namespace" entro cui sono dichiarate certe classi della libreria del C++.
Si può fare std::string oppure mettere using namespace std; all'inizio e poi usare semplicemente string.

cout è un oggetto di classe ostream, serve per scrivere sullo standard-output.

cout.fill è un metodo che imposta il carattere di riempimento quando si usa width() e il numero da scrivere è più piccolo.

<< è un operatore, di cui è stato fatto l'overload per poter scrivere vari tipi di dati su uno stream.

size_t è il tipo di dato che viene normalmente restituito da sizeof(). Vedilo come un tipo "intero".

static_cast serve per fare un cast "particolare". I dettagli però non me li ricordo.

endl (non end1!) indica il newline. cout << endl, scrive un newline sullo standard-output.
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%)
andbin è offline   Rispondi citando il messaggio o parte di esso
Old 04-10-2006, 12:10   #11
Goten_ssj
Senior Member
 
Iscritto dal: Oct 2006
Messaggi: 352
quindi cout e end1 nel c++ visuale non mi servono vero?
il problema e come tradurli nel visuale ora.. :P
Goten_ssj è offline   Rispondi citando il messaggio o parte di esso
Old 04-10-2006, 12:28   #12
okay
Senior Member
 
Iscritto dal: Feb 2002
Messaggi: 906
Quote:
Originariamente inviato da andbin
Non si deve usare atoi(), perché essa fa una conversione da un numero contenuto in una stringa a un valore numerico (es. "12" -> 12).
Il valore contenuto in un char è già di per sé il codice ASCII del carattere!

Codice:
string s = "ho 2 gatti";

for (int i=0; i<s.length(); i++)
    cout << (int) s.at (i) << " ";

cout << endl;
facendo il cast ad int, stampo il valore numerico del carattere, che è il suo codice ASCII.

si giusto... ho scritto di getto. Intendo:
sprintf (decimale, "%d ", stringa & 0xff);

ho fatto copia incolla dal mio code e mi sono impappinato:

if(atoi(decimale)<32)
strcat (ok, ".");
okay è offline   Rispondi citando il messaggio o parte di esso
Old 04-10-2006, 12:31   #13
Goten_ssj
Senior Member
 
Iscritto dal: Oct 2006
Messaggi: 352
uhm..non ci sto capendo...
potete mettere pure i commenti? grazie mille :P
Goten_ssj è offline   Rispondi citando il messaggio o parte di esso
Old 04-10-2006, 19:50   #14
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
E' giusto quello che dice andbin...se la stringa è un vettore di caratteri invece fai così (stessa logica di quello di andbin):

for(int i = 0; i < strlen(s); ++i)
cout << (int)s[i] << " ";

Goten_ssj, andbin e okay: avete la firma irregolare http://www.hwupgrade.it/forum/regolamento.php

Ultima modifica di cionci : 04-10-2006 alle 19:53.
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 04-10-2006, 20:09   #15
Goten_ssj
Senior Member
 
Iscritto dal: Oct 2006
Messaggi: 352
si..ma il cout in visuale come lo traduco???
Goten_ssj è offline   Rispondi citando il messaggio o parte di esso
Old 05-10-2006, 09:00   #16
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Intanto ringrazio okay e andbin per aver modificato la firma...ora manchi solo tu, Goten_ssj

Per avere la stringa da stampare nella tua textbox fai così:

ostringstream ost;
for(int i = 0; i < strlen(s); ++i)
ost << (int)s[i] << " ";

E dopo devi immettere nella textbox ost.str(); che appunto ritorna la stringa completa...

Ultima modifica di cionci : 05-10-2006 alle 09:02.
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 09-10-2006, 17:01   #17
Goten_ssj
Senior Member
 
Iscritto dal: Oct 2006
Messaggi: 352
l'unica cosa che sono riuscito a fare per adesso è quella di tradurre 1 solo carattere e mi viene così

Codice:
        char *x;
        int a;
        x=Input->Text.c_str();
        a=int(x[0]);
        Output->Text=a;
dove:
Input = Textbox di input
Output = Textbox di output

praticamente questo codice inserito 1 qualsiasi carattere nella textbox di input, restituisce la sua sequenza in ascii..
ecco...ora devo farlo per 1 intera stringa...
Goten_ssj è offline   Rispondi citando il messaggio o parte di esso
Old 09-10-2006, 17:05   #18
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Codice:
ostringstream ost;
for(int i = 0; i < strlen(s); ++i)
     ost << (int)Input->Text[i] << " ";

Output->Text=ost.str();
Dovrebbe andare...
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 09-10-2006, 17:09   #19
Goten_ssj
Senior Member
 
Iscritto dal: Oct 2006
Messaggi: 352
dice:
Undefined symbol 'ostringstream'
Goten_ssj è offline   Rispondi citando il messaggio o parte di esso
Old 09-10-2006, 17:23   #20
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Credo che la prima cosa che debba saper fare un programmatore è non arrendersi alla prima difficoltà...quindi credo che tu debba essere in grado di trovare quale libreria includere da solo
cionci è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Recensione vivo X300 Pro: è ancora lui il re della fotografia mobile, peccato per la batteria Recensione vivo X300 Pro: è ancora lui il...
Lenovo Legion Go 2: Ryzen Z2 Extreme e OLED 8,8'' per spingere gli handheld gaming PC al massimo Lenovo Legion Go 2: Ryzen Z2 Extreme e OLED 8,8'...
AWS re:Invent 2025: inizia l'era dell'AI-as-a-Service con al centro gli agenti AWS re:Invent 2025: inizia l'era dell'AI-as-a-Se...
Cos'è la bolla dell'IA e perché se ne parla Cos'è la bolla dell'IA e perché se...
BOOX Palma 2 Pro in prova: l'e-reader diventa a colori, e davvero tascabile BOOX Palma 2 Pro in prova: l'e-reader diventa a ...
La capsula SpaceX Dragon CRS-33 ha acces...
La NASA è sempre più vicin...
Crisi delle memorie: ASUS torna al passa...
Le console next-generation potrebbero es...
Gemini cresce ancora: la quota di mercat...
Samsung sfida TSMC: la capacità produtti...
Iliad alza il prezzo della fibra ottica ...
Il prossimo low cost di POCO sarà il più...
The Elder Scrolls VI: ecco le ultime sul...
Ecco i saldi di fine anno Amazon, 34 off...
iPhone Fold: scorte limitate al lancio m...
OpenAI porterà la pubblicità in ChatGPT ...
TSMC aumenterà ancora i prezzi: nel 2026...
Marvel pubblica anche il secondo teaser ...
Nuovo accordo tra xAI e il Pentagono: l'...
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: 16:58.


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