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

C++/CLI Discussion :

Gestion des string


Sujet :

C++/CLI

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Femme Profil pro
    Ingénieur validation
    Inscrit en
    Mai 2011
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur validation
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2011
    Messages : 12
    Par défaut Gestion des string
    Bonjour,

    Je me trouve face un problème pour la gestion des string: une variable change de valueur.

    Dans le code j'ai mis une variable globale toto de type string. Dans une des fonctions je lui donne une valeur. A la sortie de cette fonction la valeur est OK. par exemple: test_N1
    Lorsque je veux la réuiliser, sa valeur est t_N1. C'est systèmatique, les 3 premiers caractères sont mis à 0!La taille n'est pas modifiée. et je n'utilise cette variable à aucun autre endroit.
    J'ai mis des sections critiques avant et après l'utilisation de cette variable.
    J'ai beau regarder je ne trouve pas où peut être l'erreur.
    Avez vous des pistes pour m'aider?
    Merci

  2. #2
    Membre chevronné

    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    426
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations forums :
    Inscription : Octobre 2008
    Messages : 426
    Par défaut
    Salut,

    1) L'utilisation de variables globales est déconseillée, car elle est justement source de problèmes difficiles à résoudre.

    2)Serait-il possible d'avoir un bout de code qui reproduit ce problème? ( Ca aiderait franchement )

  3. #3
    Membre confirmé Avatar de ABandApart
    Profil pro
    Étudiant
    Inscrit en
    Avril 2010
    Messages
    90
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2010
    Messages : 90
    Par défaut
    Bonjour

    Si tu nous donnais un peu de code on pourrait t'aider bien mieux.
    La source de tes problèmes peu être de diverses origines.

    • Cela peut etre du a un problème lié a la porté des variables
    • Il se peut qu'il y ait un dépassement de tampon(via un tableau global ou statique) et que cela écrase les données de ton objet.


    Mais il est vrai que sans code c'est difficile a voir.

  4. #4
    Membre confirmé
    Homme Profil pro
    Ingénieur développement matériel électronique
    Inscrit en
    Mars 2008
    Messages
    109
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Ingénieur développement matériel électronique
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Mars 2008
    Messages : 109
    Par défaut
    Bonjour,
    Citation Envoyé par bertry Voir le message
    1) L'utilisation de variables globales est déconseillée, car elle est justement source de problèmes difficiles à résoudre.
    Qu'est ce que vous recommandiez si nous avons besoin d'une "variable globale"

    Merci

  5. #5
    Expert confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2005
    Messages
    5 507
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2005
    Messages : 5 507
    Par défaut
    Changez le Design de votre application pour ne pas avoir à utiliser des variables globales.

    Des Design Pattern comme le Singleton remplacent avantageusement dans bon nombres d'usages, l'utilisation abusive des variables globales.

    Par exemple, un Singleton pourra facilement interdire des modifications ou des modifications concomitantes de valeurs partagées.

  6. #6
    Membre éprouvé
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    87
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Avril 2008
    Messages : 87
    Par défaut
    je te conseille d'utiliser les data breakpoints pour trouver la source du probleme. c'est tres facile, dans ton debugger tu t'arretes apres la fonction qui initialise ta chaine, tu prend l'adresse du caractere qui change a la fin, et tu le mets en data breakpoint.

    aussi, su tu es sous linux, un coup de valgrind ne fera pas de mal, parce que ca ressemble a un overflow.

Discussions similaires

  1. Bonne gestion des String
    Par sql_ignorant dans le forum JSF
    Réponses: 3
    Dernier message: 10/02/2014, 21h13
  2. Restriction d'interface + Gestion des strings
    Par TheDwarf01 dans le forum Interfaces Graphiques
    Réponses: 3
    Dernier message: 10/02/2012, 20h02
  3. [XML] gestion des string vide?
    Par bakonu dans le forum C#
    Réponses: 11
    Dernier message: 15/03/2008, 00h52
  4. [VB] gestion des couleurs des variables de type string
    Par landry005 dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 28/03/2006, 14h36
  5. c: gestion des exceptions
    Par vince_lille dans le forum C
    Réponses: 7
    Dernier message: 05/06/2002, 14h11

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