Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
C/C++ - Convertire stringhe in esadecimale e fare il contrario
Forum - C/C++ - Convertire stringhe in esadecimale e fare il contrario - Pagina 2

Pagine: [ 1 2 3 ] Precedente | Prossimo
Avatar
nessuno (Normal User)
Guru^2


Messaggi: 6367
Iscritto: 03/01/2010

Segnala al moderatore
Postato alle 22:56
Giovedì, 22/03/2012
Beh ... potevi provarci anche tu ...

Comunque, partendo da fraseh avrai in frase2 la stringa originaria ...

Codice sorgente - presumibilmente C/C++

  1. ss.str("");
  2. for(unsigned int i=0; i<fraseh.length(); i+=2)
  3.     ss << (char)strtoul(fraseh.substr(i, 2).c_str(), NULL, 16);
  4. string frase2 = ss.str();
  5.  
  6. cout << frase2 << endl;


Ultima modifica effettuata da nessuno il 22/03/2012 alle 22:56


Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti (uno dei padri fondatori del moderno Calcolo delle probabilità) chiamava il gioco del Lotto Tassa sulla stupidità.
PM Quote
Avatar
HeDo (Founder Member)
Guru^2


Messaggi: 2765
Iscritto: 21/09/2007

Segnala al moderatore
Postato alle 11:57
Venerdì, 23/03/2012
ormai anche nessuno si è arreso al codice già pronto... pur di postare qualcosa XD

PM Quote
Avatar
RENOOB (Normal User)
Newbie


Messaggi: 15
Iscritto: 11/04/2011

Segnala al moderatore
Postato alle 14:48
Venerdì, 23/03/2012
Codice sorgente - presumibilmente C#

  1. #include <iostream>
  2. #include <sstream>
  3. #include <string>
  4.  
  5. using namespace std;
  6.  
  7. string StringToHex(string frase)
  8. {
  9.     stringstream ss;
  10.     string fraseh;
  11.     ss.str("");
  12.     for(unsigned int i=0; i<frase.length(); i++)
  13.     ss << hex << (int)frase[i];
  14.     fraseh = ss.str();
  15.     return fraseh;
  16. }
  17. string HexToString(string fraseh)
  18. {
  19.     stringstream ss;
  20.     ss.str("");
  21.     for(unsigned int i=0; i<fraseh.length(); i+=2)
  22.     ss << (char)strtoul(fraseh.substr(i, 2).c_str(), NULL, 16);
  23.     string frase2 = ss.str();
  24.     return frase2;
  25. }
  26.  
  27. int main ()
  28. {
  29.         cout << HexToString("6369616f");
  30.         return 0;
  31. }



Restituisce errore:
Codice sorgente - presumibilmente C/C++

  1. C:\Users\...\Stinghe\main.cpp||In function 'std::string HexToString(std::string)':|
  2. C:\Users\...\Stinghe\main.cpp|22|error: 'strtoul' was not declared in this scope|
  3. ||=== Build finished: 1 errors, 0 warnings ===|


:d

Ultima modifica effettuata da RENOOB il 23/03/2012 alle 14:49
PM Quote
Avatar
nessuno (Normal User)
Guru^2


Messaggi: 6367
Iscritto: 03/01/2010

Segnala al moderatore
Postato alle 15:23
Venerdì, 23/03/2012
Testo quotato

Postato originariamente da HeDo:

ormai anche nessuno si è arreso al codice già pronto... pur di postare qualcosa XD



Purtroppo sì ... magari si tira su un po' il forum ...


Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti (uno dei padri fondatori del moderno Calcolo delle probabilità) chiamava il gioco del Lotto Tassa sulla stupidità.
PM Quote
Avatar
nessuno (Normal User)
Guru^2


Messaggi: 6367
Iscritto: 03/01/2010

Segnala al moderatore
Postato alle 15:34
Venerdì, 23/03/2012
Ma quale compilatore usi?


Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti (uno dei padri fondatori del moderno Calcolo delle probabilità) chiamava il gioco del Lotto Tassa sulla stupidità.
PM Quote
Avatar
RENOOB (Normal User)
Newbie


Messaggi: 15
Iscritto: 11/04/2011

Segnala al moderatore
Postato alle 15:59
Venerdì, 23/03/2012
Uso l'ide Code :: Blocks che, se non erro, usa il compilatore "GNU GCC Compiler"

PM Quote
Avatar
nessuno (Normal User)
Guru^2


Messaggi: 6367
Iscritto: 03/01/2010

Segnala al moderatore
Postato alle 16:02
Venerdì, 23/03/2012
Probabilmente ha la necessità dell'include

#include <cstdlib>


Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti (uno dei padri fondatori del moderno Calcolo delle probabilità) chiamava il gioco del Lotto Tassa sulla stupidità.
PM Quote
Avatar
RENOOB (Normal User)
Newbie


Messaggi: 15
Iscritto: 11/04/2011

Segnala al moderatore
Postato alle 16:04
Venerdì, 23/03/2012
:k: Funziona! Grazie infinite!

PM Quote
Pagine: [ 1 2 3 ] Precedente | Prossimo