Oppure

Loading
08/01/17 18:26
fabiobo
Ciao a tutti,

premetto che non conosco il c++, però mi piace provare.
Sto scrivendo una interfaccia che che legga delle locazioni esadecimali da un file di testo,
in questo formato:

08FBB260
08FBB5C4
08FBB5C0

Con qualche riga di codice leggo il file di testo ed inserisco il tutto in un array.

// lettura file
int array_size = 1024;
char *array = new char[array_size];
int position = 0;

ifstream fin("c:\zds\zds.txt";);
if(fin.is_open()) {

cout << "File aperto." << endl;

while(!fin.eof() && position < array_size) {
fin.get(array[position]);
position++;
}

} else {
cout << "Il file non può essere aperto." << endl;
return 0;
}


Nell' array i caratteri sono tutti separati (a[0]=0 a[1]=8 a[2]=F ...).
Il mio problema è riasseblare la locazione di memoria nel formato (0x08FBB260 0x08FBB5C4 0x08FBB5C0 ...) darla in pasto ad una (DWORD address = 0x08FBB260) in questo formato.

Grazie per un eventuale aiuto.

Fabio
aaa
08/01/17 21:58
Roby94
Per il parsing da string a int per una generica base puoi adoperare la funzione strtol
cplusplus.com/reference/cstdlib/strtol/
Oppure direttamente la fscanf con parametro x per leggere interpretare i caratteri come numero esadecimale.
aaa
08/01/17 22:10
nessuno
Fabio ... dopo che avrai letto gli indirizzi sai che non saranno indirizzi validi da poter utilizzare in un programma, vero?
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à.
08/01/17 22:34
fabiobo
Grazie Roby94 per la dritta, ci provo.

Gli indirizzi, esempio i tre pubblicati, sono indirizzi statici di un simulatore ferroviario. Cambiamo solo da release a release, ed alcuni dalla loc di guida. Naturalmente il tutto è già testato, in piccolo e manualmente, inviando i valori delle locazioni via seriale ad arduino. In poche parole, sto ricostruendo una cabina di guida reale di una VL80 russa collegata con arduino per la gestione dell'elettronica.

Grazie per eventuali aiuti.

Fabio
aaa
08/01/17 22:37
nessuno
Per indirizzi di un micro va bene, ma non per queli di un processo win32
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à.
08/01/17 22:48
fabiobo
Senza dubbio.
Aprendo e richiudendo il simulatore, gli indirizzi rimangono sempre gli stessi. Per il momento sto usando una interfaccia
fatta dai russi, ma purtroppo non è completa e viene aggiornata quando si ricordano. Per questo motivo me ne voglio fare
una mia ad uso esclusivo personale. E comunque è diventata una sfida.

ciao
Fabio
aaa