Supponendo di aver già una stringa in esadecimale, ho provato a scrivere un programmino che data tale stringa mi ritorni la stessa ma con ":" ogni due cifre esadecimali. MA continuo ad avere problemi, perchè inserisce i ":" tra un numero e l'altro e non ogni 2:
ma il risultato è:codice:#include <iostream> #include <string> using namespace std; const char* dp= ":"; const char* charray = "46a9a3ad7c14709149b004065fe716d5"; string str2; int main () { string str2(charray); str2.assign(charray); cout << str2 << endl; for(int i=1; i<256; i++){ str2.insert(i*2, dp); } cout << str2 <<endl; return 0; }
46:a:9:a:3:a:d:7:c:1:4:7:0:9:1:4:9:b:0:0:4:0:6:5:f :e:7:1:6:d5
quando invece dovrebbe essere
46:a9:a3:ad:7c:14:70:91:49:b0:04:06:5f:e7:16:d5
Dove sbaglio?? :-(

Rispondi quotando