Ecriture LPBYTE dans un fichier texte
Bonjour,
J'essaie d'écrire un programme C++ (Visual C++ 6.0) qui a pour but de lire ce qui arrive sur un port série (RS232) et de le stocker dans un fichier texte.
Mon code est le suivant :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
|
string bufferResDP;
FILE *f;
while(1)
{
bufferResDP = "";
// Lecture des port séries
ComPortSerie.receiveData(&bufferResDP);
f = fopen("test.txt", "a");
fprintf(f, "%s\n", &bufferResDP);
fclose(f);
Sleep(1000);
} |
J'ai récupéré le code pour le receiveData, il fonctionne (au debugger, bufferResDP contient bien la chaine de caractère envoyée via le port série), le voilà quand même au cas où :
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
|
int LSerie::receiveData(string* data)
{ char buffer[1025];
int nbChar=0;
//--- Vérification des paramétres passés à la fonction:
if( data==NULL)
return false;
nbChar = receiveData(1024, (LPBYTE)buffer);
buffer[nbChar] = 0; // caractère de fin de chaine.
data->assign(buffer);
return nbChar;
}
int LSerie::receiveData(DWORD lg, LPBYTE data)
{
DWORD result=0;
//--- Vérification des paramètres passés à la fonction:
if( lg<0 || data==NULL)
return false;
if (!ReadFile(hcom, data, lg, &result, 0))
return -1;
else
return (int)result;
} |
Le problème est que ce que j'écris dans le fichier texte a à peu près cette tête-là :
ÌÌÌÌ
ÌÌÌÌ
ÌÌÌÌ
ÌÌÌÌC/
ÌÌÌÌC/
ÌÌÌÌ
J'ai essayé en convertissant bufferResDP avec LPCTSTR et LPCSTR... sans résultat.
Quelqu'un peut-il m'aider ?
Merci !