Torna indietro   Hardware Upgrade Forum > Software > Programmazione

DS N°7 E-Tense: il SUV premium made in Melfi che punta su autonomia e comfort
DS N°7 E-Tense: il SUV premium made in Melfi che punta su autonomia e comfort
Fino a 740 km WLTP con la batteria da 97,2 kWh, sospensioni che leggono la strada con una telecamera e un abitacolo da salotto parigino. La nuova DS N°7 raccoglie l'eredità della DS 7 e la porta, per la prima volta, nel mondo 100% elettrico. Ecco come è fatta, cosa offre e quanto costa.
Recensione Samsung Galaxy Tab S12 Ultra: non chiamatelo tablet... è molto di più
Recensione Samsung Galaxy Tab S12 Ultra: non chiamatelo tablet... è molto di più
Abbiamo provato Samsung Galaxy Tab S12 Ultra nella versione 12 GB + 256 GB con tastiera, e il risultato è un tablet che in questa configurazione si comporta come un notebook con la fluidità tipica di Android. Spessore di 5,1 mm, display Dynamic AMOLED 2X da 14,6 pollici, MediaTek Dimensity 9500 e un software senza incertezze compongono un prodotto di vertice, con prezzi da 1.539 euro, frenato solo da un'autonomia nella parte bassa del confronto
Hyundai IONIQ 5 N, l'elettrica che finge di essere termica (e ci riesce da paura)
Hyundai IONIQ 5 N, l'elettrica che finge di essere termica (e ci riesce da paura)
Abbiamo provato per dieci giorni la Hyundai IONIQ 5 N, con 650 CV, 770 Nm e uno 0-100 km/h in 3,4 secondi. Il suo punto forte è N e-Shift, che simula un cambio a otto rapporti con suoni da motore termico e perfino un bang supersonico
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
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, Senior Java developer – SCJP 5 (91%) • SCWCD 5 (94%)
Java Versions Cheat Sheet
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
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, Senior Java developer – SCJP 5 (91%) • SCWCD 5 (94%)
Java Versions Cheat Sheet
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


DS N°7 E-Tense: il SUV premium made in Melfi che punta su autonomia e comfort DS N°7 E-Tense: il SUV premium made in Melfi...
Recensione Samsung Galaxy Tab S12 Ultra: non chiamatelo tablet... è molto di più Recensione Samsung Galaxy Tab S12 Ultra: non chi...
Hyundai IONIQ 5 N, l'elettrica che finge di essere termica (e ci riesce da paura) Hyundai IONIQ 5 N, l'elettrica che finge di esse...
CES Unveiled Milan, l'IA diventa tecnologia fondativa e il commercio torna centrale CES Unveiled Milan, l'IA diventa tecnologia fond...
 Recensione OPPO Find X10 Pro Max: un top di gamma completo con tre fotocamere da 200MP Recensione OPPO Find X10 Pro Max: un top di gam...
Sony annuncia la PS5 Prism Collection: n...
Infineon investe 1,1 miliardi di euro in...
Microsoft: ricavi record a 92,3 miliardi...
L'IA fa esplodere gli utili di Samsung: ...
Cronos: Lazarus ha una data di uscita: i...
Google aggiorna la privacy: i dati di Gm...
Ubuntu Core Desktop torna in vita: anche...
Intel Moon Lake: le prime indiscrezioni ...
Motorola Signature 27 e Razr Flex: svela...
Il menu che tutti chiedevano da anni arr...
GitHub fa i conti con il boom dell'IA: a...
Samsung valuta due strade per Galaxy Z F...
Reddit sdoppia la home: arrivano i feed ...
NVIDIA apre Nemotron 3.5 Transcribe: 40 ...
Qwen3.8 27B dice di voler veder bruciare...
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: 12:32.


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