Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa
Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa
Marvel's Wolverine porta Logan in un'avventura inedita, violenta e fortemente narrativa, costruita attorno alla sua natura di combattente e al difficile rapporto con il proprio passato. Insomniac Games punta su combattimenti spettacolari, progressione e personalizzazione, inserendo l'azione in un mondo segnato dalla persecuzione dei mutanti. Un viaggio intenso, che alterna mattanza, esplorazione e momenti sorprendentemente emotivi.
DJI Romo 2: tante novità lo rendono un robot completo
DJI Romo 2: tante novità lo rendono un robot completo
Romo 2 è la seconda generazione di robot lavapavimenti di DJI, un modello che si caratterizza per la precisione nel sistema di navigazione e per il funzionamento particolarmente silenzioso. Con le modifiche introdotte in questa seconda versione, e un posizionamento di prezzo più allineato alla concorrenza, rappresenta una valida alternativa sul mercato delle soluzioni di pulizia domestica
Sony Bravia 9 II: il True RGB alla prova, dove l'LCD sfida l'OLED
Sony Bravia 9 II: il True RGB alla prova, dove l'LCD sfida l'OLED
Il primo Sony con retroilluminazione True RGB alla prova del banco di misura e dei contenuti: luminanza enorme, colori accurati in HDR e un antiriflesso molto efficace. I limiti sono due sole HDMI 2.1 e il blooming fuori asse
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 03-10-2006, 19: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, 19: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, 19: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, 20: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, 20: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 developerSCJP 5 (91%) • SCWCD 5 (94%)
Java Versions Cheat Sheet
andbin è offline   Rispondi citando il messaggio o parte di esso
Old 03-10-2006, 20: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, 20: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, 20: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, 09: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, 10: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 developerSCJP 5 (91%) • SCWCD 5 (94%)
Java Versions Cheat Sheet
andbin è offline   Rispondi citando il messaggio o parte di esso
Old 04-10-2006, 11: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, 11: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, 11: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, 18: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 18:53.
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 04-10-2006, 19: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, 08: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 08:02.
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 09-10-2006, 16: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, 16: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, 16: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, 16: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


Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa Marvel's Wolverine, la recensione: Logan torna p...
DJI Romo 2: tante novità lo rendono un robot completo DJI Romo 2: tante novità lo rendono un ro...
Sony Bravia 9 II: il True RGB alla prova, dove l'LCD sfida l'OLED Sony Bravia 9 II: il True RGB alla prova, dove l...
Geely EX5, un mese al volante: il SUV elettrico cinese che ci ha sorpreso (quasi) senza riserve Geely EX5, un mese al volante: il SUV elettrico ...
Mova Z70 Ultra Roller Complete: motore potente, rullo di lavaggio e l'IA a guidare Mova Z70 Ultra Roller Complete: motore potente, ...
Universal e ElevenLabs: una piattaforma ...
Astra mette in crisi i server di OpenAI:...
Phanteks EX5: disponibile il case a bloc...
Broadcom rimuove l'accesso a uno strumen...
Italo porta Starlink sui treni ad Alta V...
Le GPU costano sempre di più, ma ...
IBM e NASA hanno insegnato a un'IA a leg...
Desktop Remoto non funziona su Windows S...
Offerte Amazon del giorno: da AirPods 5 ...
Motorola anticipa la sua prossima mossa ...
La manovra di Picard di Star Trek funzio...
EA Sports FC 27, pubblicata su Spotify l...
NSBProject misura quanto una startup &eg...
Instagram permette ora di aggiungere all...
Zuckoff scopre gli occhiali Meta attorno...
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: 13:41.


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