IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Visual C++ Discussion :

Ecriture LPBYTE dans un fichier texte


Sujet :

Visual C++

  1. #1
    Membre averti
    Inscrit en
    Juin 2007
    Messages
    53
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 53
    Par défaut 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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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 !

  2. #2
    Membre émérite
    Avatar de Spout
    Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Février 2007
    Messages
    904
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Février 2007
    Messages : 904
    Par défaut
    A mon avis l'adresse du string ne pointe pas miraculeusement vers le buffer de texte!
    C'est un string de la STL?

  3. #3
    Membre averti
    Inscrit en
    Juin 2007
    Messages
    53
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 53
    Par défaut
    oui merci, là c'est mieux !!
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    fprintf(f, "%s\n", bufferResDP.c_str());

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [VBA-E]Ecriture de données dans un fichier texte
    Par osito57 dans le forum Macros et VBA Excel
    Réponses: 15
    Dernier message: 18/08/2017, 19h42
  2. Problème d'ecriture arabe dans un fichier texte
    Par gateserv dans le forum Entrée/Sortie
    Réponses: 5
    Dernier message: 30/08/2008, 11h44
  3. Ecriture dans un fichier texte
    Par Bmagic dans le forum MFC
    Réponses: 9
    Dernier message: 07/06/2006, 14h40
  4. ecriture dans un fichier text
    Par lerouzes dans le forum Langage
    Réponses: 19
    Dernier message: 30/04/2006, 16h29
  5. probleme d'ecriture dans un fichier texte
    Par azrael88370 dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 24/01/2005, 17h33

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo