Questo sito utilizza cookies, anche di terze parti, per mostrare pubblicità e servizi in linea con il tuo account. Leggi l'informativa sui cookies.
Username: Password: oppure
C/C++ - [C win32]Legge, modifica file e scrive su altro
Forum - C/C++ - [C win32]Legge, modifica file e scrive su altro

Avatar
SDevil (Normal User)
Newbie


Messaggi: 3
Iscritto: 05/05/2009

Segnala al moderatore
Postato alle 23:20
Martedì, 05/05/2009

Ciao a tutti,
devo realizzare una dll che prende in IN un file .TXT
contenente tipo:
"var"\x65\x61\x6F...
ed ad ogni occorrenza sequenziale dei caratteri "\x" tramite atoi() deve restituirmi il valore esadecimale dei due numeri

successi.
Il file in uscita dovrà contenere il file originale con le modifiche esadecimali.
Io ho realizzato questo codice, che nn va...
Non sono tanto esperta della programmazione Windows..chiedevo se qualcuno poteva darmi una mano..
Thanks

__declspec(dllexport) void Convert(HANDLE hFile, HANDLE hFiLE1)
{

DWORD dwbyteRead;
DWORD dwbyteWrite;

BYTE *dwSFP;
char dueChar[2];
char dueChar1[2];

char occorrenza ="\x";
int i;
int x=0;
dwSFP = (BYTE*) calloc(GetFileSize(hFile, NULL), sizeof(hFile));
ReadFile(hFile, &dwSFP, GetFileSize(hFile, NULL), &dwbyteRead, NULL);
FOR(i=0; i<sizeof(dwSFP)-1; i++)
{
dueChar1[0] = dueChar;
dueChar1[1] = dueChar[i+1];
if(strcmp(dueChar1,occorrenza)!=0) //se i caratteri letti sono diversi da "\x"mi scrive sul file
{
WriteFile(hFile1, dueChar1, sizeof(dueChar), &dwbyteWrite, NULL);
}
else //altrimenti prendo i due caratteri dopo ai due caratteri
//controllati e prendo il valore esadecimale tramite atoi
{
dueChar1[0] = dueChar[i+2];
dueChar1[1] = dueChar[i+3];
x=atoi(dueChar1);
WriteFile(hFile1, &x, sizeof(dueChar), &dwbyteWrite, NULL);

}
}
free(dwSFP);
}

PM Quote
Avatar
theprogrammer (Normal User)
Guru^2


Messaggi: 2509
Iscritto: 28/01/2009

Segnala al moderatore
Postato alle 23:36
Martedì, 05/05/2009
Le risposte su

http://forum.html.it/forum/showthread.php?s=&threadid=1329778

non ti convincevano ...?


- Se le mie risposte non vi soddisfano, ignoratele, altrimenti un "grazie" e' molto gradito ...

"Dai un pesce (programma) a un uomo e lo nutrirai per un giorno. Insegnagli a pescare (programmare) e lo nutrirai per tutta la vita." (niente pappa pronta)
PM Quote
Avatar
SDevil (Normal User)
Newbie


Messaggi: 3
Iscritto: 05/05/2009

Segnala al moderatore
Postato alle 23:40
Martedì, 05/05/2009
Scusami ma volevo una soluzione prima di domani...quindi avendo piu' risorse cerco di sfruttarle..mica faccio qualcosa di male..o si?

PM Quote
Avatar
theprogrammer (Normal User)
Guru^2


Messaggi: 2509
Iscritto: 28/01/2009

Segnala al moderatore
Postato alle 0:09
Mercoledì, 06/05/2009
No ... nulla di male, in se' ...



- Se le mie risposte non vi soddisfano, ignoratele, altrimenti un "grazie" e' molto gradito ...

"Dai un pesce (programma) a un uomo e lo nutrirai per un giorno. Insegnagli a pescare (programmare) e lo nutrirai per tutta la vita." (niente pappa pronta)
PM Quote
Avatar
SDevil (Normal User)
Newbie


Messaggi: 3
Iscritto: 05/05/2009

Segnala al moderatore
Postato alle 19:52
Mercoledì, 06/05/2009
Non volevo mancare di rispetto a nessuno e non pensavo fosse una cosa che "normalmente"non si fa...quindi mi dispiace.

cmq non preoccuparti perchè ne da questa ne da quell'altra parte ho ricevuto dialoghi a proposito del mio dubbio...a me piacerebbe confrontarmi o discuterne perchè cmq i forum servono per questo e non solo a dare le soluzioni.
Nel campo della programmazione C Win32 non conosco nessuno che possa darmi una mano..in piu' sono caparbia e vorrei giungere a soluzione ma mi rendo conto che con le conoscenze di base che tengo a riguardo non posso andare lontano.
Qundi il mio dubbio permane, e sarebbero gradite considerazioni a riguardo.
Grazie a tutti

PM Quote