Convertir char* en string
Bonjour,
c'est une question très bête mais il m'est impossible de copier le contenu d'un char* dans un string. Voir à la fin du code, je n'arrive pas à copier le Byte* (c'est un unsigned char) dans mon string machin.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
|
Byte* ATTR_payload;
string truc;
string machin;
int i = 0;
int nbRecords = 0;
map <string, string> mapREC;
for (rd_ptr = DB_POS_DB_REC; rd_ptr < db[dbNum].header.file_end; rd_ptr += sizeof (DbRecHdrType) + hdr.size)
{
...
if (read(db[dbNum].file_desc, (char *)ATTR_payload, hdr.size ) ) { // reading the payload
printf("payload : ");
for (i = 0 ; i < hdr.size -1 ; i++)
printf("%0X", ATTR_payload[i]);
printf("\n");
} else
return HandleDBOpenError(dbNum, DB_RecordReadFailed, TRUE);
strstream glop; // conversion int to string dégueulasse
glop << ATTR_tmp;
glop >> truc;
cout << "truc = " << truc << endl;
machin.c_str() = ATTR_payload;
nbRecords++;
} |
Des pistes, je suis preneur :aie: