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 :

[win32] un buffer qui se vide


Sujet :

Visual C++

Vue hybride

Ashin [win32] un buffer qui se vide 14/05/2007, 17h13
Ashin ça n intéresse personne :cry: 15/05/2007, 10h39
Aurelien.Regat-Barrel Ben non, tu te doutes bien... 15/05/2007, 15h57
Ashin j ai trouvé le probleme mais... 15/05/2007, 18h22
Aurelien.Regat-Barrel La preuve que si (d'un point... 16/05/2007, 07h29
Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre chevronné
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    417
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Mai 2007
    Messages : 417
    Par défaut [win32] un buffer qui se vide
    Au vue du titre, c est un peu vague. Effectivement c est vague mais je vais essayer d être précis.
    En fait j ai fait un hyperterminal un peu comme celui de windows, quand je me connecte, dans ma zone de texte apparaissent les paramètres de la connexion comme prévu. Mais au bout d un certain temps (aléatoire), sans aucune raison apparente, ma zone de texte devient vierge et le buffer qui contenait les caractères est vide.

    je met mon soft en piece jointe, c est une vieille version mais le "bug" y est déja

    merci
    Fichiers attachés Fichiers attachés

  2. #2
    Membre chevronné
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    417
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Mai 2007
    Messages : 417
    Par défaut
    ça n intéresse personne

  3. #3
    Expert confirmé

    Homme Profil pro
    pdg
    Inscrit en
    Juin 2003
    Messages
    5 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : pdg

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 756
    Billets dans le blog
    3
    Par défaut
    Ben non, tu te doutes bien que deboguer ton programme n'est pas notre priorite... C'est a toi de localiser le probleme. Pose des breakpoint quand la zone de texte est videe, etc...

  4. #4
    Membre chevronné
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    417
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Mai 2007
    Messages : 417
    Par défaut
    j ai trouvé le probleme mais pas la raison.
    le buffer se vide a cause de ça :

    a = strlen(buffer) ;
    if (a >=100000) a = 0;

    et la taille du buffer dans mon cas ne dépasse pas 200

  5. #5
    Expert confirmé

    Homme Profil pro
    pdg
    Inscrit en
    Juin 2003
    Messages
    5 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : pdg

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 756
    Billets dans le blog
    3
    Par défaut
    La preuve que si (d'un point de vue de strlen). Tu dois oublier de t'assurer de mettre le zero terminal.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    //reception donnees
    int length = ReceiveData( buffer );
    // s'assurer qu'il y a le zero terminal
    buffer[length] = 0;

  6. #6
    Membre chevronné
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    417
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Mai 2007
    Messages : 417
    Par défaut
    Citation Envoyé par Aurelien.Regat-Barrel
    La preuve que si (d'un point de vue de strlen). Tu dois oublier de t'assurer de mettre le zero terminal.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    //reception donnees
    int length = ReceiveData( buffer );
    // s'assurer qu'il y a le zero terminal
    buffer[length] = 0;
    non parce qu il y a avant :

    memset (buffer,0, sizeof (buffer)) qui met a zero tout mon buffer et il y a un zero terminal dans tous les cas.

Discussions similaires

  1. Buffer qui ne se vide pas
    Par maniaco_jazz dans le forum Administration
    Réponses: 1
    Dernier message: 08/08/2009, 15h08
  2. Réponses: 2
    Dernier message: 13/06/2006, 20h47
  3. inserer un numeric qui est vide?
    Par shinrei dans le forum MS SQL Server
    Réponses: 6
    Dernier message: 14/03/2006, 21h39
  4. Ne pas afficher un champs qui est vide dans ma BD
    Par yoda_style dans le forum ASP
    Réponses: 3
    Dernier message: 27/04/2004, 11h40
  5. [ODBC] erreur SQL pour les unions qui renvoient vide
    Par fabriceMerc dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 25/11/2003, 11h06

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