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 :

CArray<int,int> Add provoque un UserBreakPoint


Sujet :

Visual C++

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 17
    Points : 10
    Points
    10
    Par défaut CArray<int,int> Add provoque un UserBreakPoint
    Bonsoir

    Quelqu'un aurait-il une idée du pourquoi cette fonction provoque un UserBreakPoint (non défini par moi) dans VC++6 en mode debug, au moment du Add


    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
    void stringSplitToInt(string str, string delim, CArray<int,int>  *results)
    {
        int cutAt;
        while( (cutAt = str.find_first_of(delim)) != str.npos )
        {
            if(cutAt > 0)
            {
                string tmp = str.substr(0,cutAt);
                const char* tmp2 = tmp.c_str();
                int tmp3 = atoi(tmp2);
                (*results).Add(tmp3);
            }
            str = str.substr(cutAt+1);
        }
        if(str.length() > 0)
        {
            (*results).Add(atoi(str.c_str()));
        }
     
    }

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

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

    Informations forums :
    Inscription : Février 2005
    Messages : 5 157
    Points : 12 271
    Points
    12 271
    Par défaut
    Quel "Add", il y en a 2 dans le code.

    C'est quoi les variables et des paramètres ?

    Il y a quoi de la pile d'appel lors du breakpoint ?

    etc ...

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 17
    Points : 10
    Points
    10
    Par défaut
    Citation Envoyé par bacelar Voir le message
    Quel "Add", il y en a 2 dans le code.

    C'est quoi les variables et des paramètres ?

    Il y a quoi de la pile d'appel lors du breakpoint ?

    etc ...
    Je cherche a decouper une chaine (exemple: 1,25,35,46,60) en un tableau d'INT pour avoir
    array[0] = 1
    array[1] = 25
    array[2] = 35
    array[3] = 46
    array[4] = 6

    ai-je repondu a ta question ?

    donc string est "1,25,35,46,60",
    delim ","

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

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

    Informations forums :
    Inscription : Février 2005
    Messages : 5 157
    Points : 12 271
    Points
    12 271
    Par défaut
    Non.

    Voir mes questions qui sont bien plus précises.

  5. #5
    Expert éminent sénior
    Avatar de Mat.M
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2006
    Messages
    8 386
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 8 386
    Points : 20 476
    Points
    20 476
    Par défaut
    Salut Jf je ne comprends vraiment pas j'ai essayé ton code il fonctionne parfaitement avec mon VC++ 6.0
    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
     
    CArray<int,int> result;
    std::string str1="1,25,35,46,60";
    std::string str2=",";
    stringSplitToInt(str1, str2,&result);
     
     
    //....
    void CTestDlg::stringSplitToInt(std::string str, std::string delim, CArray<int,int>  *results)
    {
        int cutAt;
        while( (cutAt = str.find_first_of(delim)) != str.npos )
        {
            if(cutAt > 0)
            {
    			std::string tmp = str.substr(0,cutAt);
                const char* tmp2 = tmp.c_str();
                int tmp3 = atoi(tmp2);
                (*results).Add(tmp3);
            }
            str = str.substr(cutAt+1);
        }
        if(str.length() > 0)
        {
            (*results).Add(atoi(str.c_str()));
        }
     
    }
    Une suggestion : au lieu d 'écrire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    (*results).Add(atoi(str.c_str()));
    il est possible d'écrire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    results->Add(atoi(str.c_str()));
    Et puis tu peux passer results par réference avec & au lieu de passer un pointeur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    void CTestDlg::stringSplitToInt(std::string str, std::string delim, CArray<int,int>  &results)

Discussions similaires

  1. Réponses: 7
    Dernier message: 14/03/2014, 21h50
  2. [caml light] ( int -> int ) -> int
    Par ylarvor dans le forum Caml
    Réponses: 5
    Dernier message: 26/11/2009, 19h35
  3. Réponses: 4
    Dernier message: 27/04/2006, 13h21
  4. fread(void*, int, int, FILE*)
    Par keil dans le forum C++
    Réponses: 11
    Dernier message: 25/01/2006, 22h13
  5. basic: const int** != int ** ?
    Par toto_fr_2002 dans le forum C
    Réponses: 10
    Dernier message: 14/11/2005, 19h28

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