/Anonimizzato8755Utente anonimizzato23 mag 2011, 12:12Salve a tutti, sono un nuovo iscritto al forum e novizio programmatore c++. Il mio problema, seppur banale, è i seguente: ho necessità di convertire la stringa passata da linea di comando contenuta in argv in un ByteArray. Qualcuno può aiutarmi? Scusatemi per la mia richiesta banale, ma sono ancora alle prime armi. Grazie in anticipo per eventuali risposte.
/Anonimizzato7532Utente anonimizzato23 mag 2011, 12:53Un stringa è già in bytearray. argv è definito come char *. Un byte almeno su windows è definito come unsigned char, quindi sono la stessa cosa.
/Anonimizzato8755Utente anonimizzato23 mag 2011, 13:06Provo a spiegare il problema: ho un metodo che tra i suoi parametri ne ha uno di tipo const ByteArray. A questo metodo devo passare attraverso argv un valore da riga di comando; devo quindi convertire questo parametro da riga di comando in un ByteArray da passare al metodo citato.
/Anonimizzato7532Utente anonimizzato23 mag 2011, 13:49ByteArray non è un tipo di dato standard in C++. Posta il codice e vediamo di risolvere.
/Anonimizzato8755Utente anonimizzato23 mag 2011, 14:41ByteArray è così definito: typedef CArray<BYTE, BYTE> ByteArray; all'interno del .h CArray è una classe al cui interno ci sono vari metodi tipo: GetSize, GetCount, IsEmpty, ecc
/Anonimizzato7532Utente anonimizzato23 mag 2011, 14:51CArray è un tipo di dato MFC. ByteArray e un tuo alias per definire il CArray. Il CArray ha un metodo chiamato Add dove puoi aggiungere elementi singoli. Un esempio. for(j = 0; j < strlen(argv[i]); j++) myByteArray.Add(argv[i][j]);
/Anonimizzato8755Utente anonimizzato23 mag 2011, 15:01Perfetto, funziona! Grazie mille SkyNet Purtroppo, non avendo dimestichezza mi perdo in queste banalità.