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 Discussion :

problème de pointeur


Sujet :

C

  1. #1
    Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Janvier 2014
    Messages
    208
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2014
    Messages : 208
    Points : 60
    Points
    60
    Par défaut problème de pointeur
    bonjours tout le monde.
    Voici mon problème :
    je fil un text à mon programme en paramètre, et il doit le filtrer en fonction d'un autre fichier stop.list (il indexe les mots du text : par exemple il inscrit qui: 1 2 3 5 9 ça veut dire que le mot qui se trouve à la ligne 1 2 3 5 9 etc).
    En premier tout ce qui n'est pas en rouge n'est pas de moi mais de l'énoncé.
    Donc le but c'est d'ouvrir le fichier stop.list qui contient (.,; '\n!\t<>\"/=), de récuper la chaine et d'enregistrer cette chaine dans split_chars.
    Donc j'ai une fonction do_split_chars, tout en bas, elle capture bien la chaine, mais lorsque je fais la copie ça ne marche pas.
    Au début j'avais fait la fonction du deuxième code, qui fonctionnait bien, sauf qu'elle découpe \n en deux caractères distinct au lieu de garder ça comme un saut de ligne et que je ne peux pas mettre de caractère espace dans la stoplist.

    Bref c'est la honte parce que normalement ça doit être fait genre en 4 lignes propre et là chez moi c'est n'importe quoi et en plus ça ne marche pas.
    Help
    edit : ce qui est de moi apparait pas en rouge mais entre les balises rouge.


    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
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
     
     
    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    #define max_mots 128 // nombre maximum d'éléments dans la table mots
    #define max_refs 16 // nombre maximum de références par mot
    #define maximum 128
    #define max_stop_list 60
    typedef unsigned idx ;
    typedef char * str ;
    typedef enum {False, True} bool ;
     
    char *mots [max_mots] ; // table de max_mots
    idx mot_libre = 0 ; // où le premier est libre
    idx refs [max_mots][max_refs] ;// matrice de max_mots par max_refs
    idx ref_libre [max_mots] ;// table de max_mot
    str split_chars;
    <couleur nom="rouge">//str split_chars = "(.,; '\n!\t<>\"/=)"</couleur>
    void indexe(str ligne, idx ref);
    void usage(str message) {
        fprintf(stderr, "%s\n", message) ;
        exit(1) ;
    }
                     // nouveau type
    bool pareil(str x, str y) {
        return strcasecmp(x, y) ? False : True ;
    }
    int indice(str mot);
    void ajoute_mot(idx x, str mot, idx ref);
    void ajoute_ref(idx x, idx ref);
    void dump(idx k);
    void do_split_char(str fichier);
     
    int main(int k, const str ldc []) {
        if (k < 2) usage("manque le nom du fichier...") ; // il manque l'argument : dégage
        char ligne [maximum] ;                            // espace pour une ligne
        FILE * flux = fopen(ldc [1], "r") ;               // ouvre le texte
        if (! flux) usage("fichier pas bon du tout...") ; // erreur à l'ouverture : dégage
        <couleur nom="rouge">do_split_char("stop.list"); </couleur>                      // initialisation de la stop liste
        idx x = 0 ;                                       // à partir de l'index 0
        while (fgets(ligne, maximum, flux))               // tant qu'il y a du texte
            indexe(ligne, ++x) ;                          // indexe la ligne suivante
        fclose(flux) ;                                    // ferme
        dump(mot_libre) ;                                 // affiche ? jusqu'au mot inutilisé
        return 0 ;
    }
     
    void indexe(str ligne, idx ref) {// étant donnée une ligne de texte
        <couleur nom="rouge">printf("%s\n", split_chars);</couleur>
        str mot = strtok(strdup(ligne), split_chars) ;    // attrape le 1er mot
        while (mot) {                                     // si ce n'est pas la chaîne vide
            int x = indice(mot) ;                         // regarde s'il n'y est pas déjà
            if (x < 0) ajoute_mot(mot_libre, mot, ref) ;  // et rajoute-le à la suite
            else ajoute_ref(x, ref) ;                     // sinon ajoute une nouvelle référence
            mot = strtok(NULL, split_chars);             // attrape le mot suivant
        }
    }
    int indice(str mot) {                                 // soit un mot
        idx x ;                                           // soit un index dans la table des mots
        for (x = 0; mots [x] ; ++x)                       // ce mot est-il déjà mémorisé ?
            if (pareil(mot, mots [x])) return x ;         // oui : retourne cet index
        return -1 ;                                       // non : retourne négatif
    }
     
    void ajoute_mot(idx x, str mot, idx ref) {            // un index, un mot, une référence
        mots [x] = mot ;                                  // met le mot là où on te dit
        refs [x][0] = ref ;                               // met la référence correspondante
        ++ref_libre [x] ;                                 // décale pour la réf suivante
        ++mot_libre ;                                     // décale le mot libre
    }
     
    void ajoute_ref(idx x, idx ref) {                     // un index, une référence
        idx r = ref_libre [x] ;                           // intermédiaire inutile
        if(ref != refs [x][r]){                           // ajoute la référence
            refs [x][r] = ref ;                           // décale pour la réf suivante
            ++ref_libre [x] ;
        }
    }
     
    void dump(idx k) {                                     // déverse le contenu de la mémoire
        idx x, z ;                                         // scanne les mots un par un
        for (x = 0 ; x < k ; ++x) {                        // test redondant, en l'état
            if (mots [x]) {                                // affiche le mot
                printf("%s :", mots [x]) ;                 // scanne ses références
                for (z = 0 ; refs [x][z] ; ++z)            // affiche-les sur la même ligne
                    printf(" %i", refs [x][z]) ;           // termine par un alinéa
                printf("\n") ;
            }
        }
    }
     
    <couleur nom="rouge">void do_split_char(str fichier)
    {
        int nombre_split_char =0;
        FILE *zap = fopen(fichier, "r");
        if(!zap) usage("stop.list introuvable");
        while (fgetc(zap) != EOF) nombre_split_char++;        //on compte le nombre de carractère
        fclose(zap);
        zap = fopen(fichier, "r");
        char sas[nombre_split_char];                           //sas contenant la stop liste
        while (fgets(sas,nombre_split_char, zap))
        split_chars = sas;
        fclose(zap);
    }
    </couleur>

  2. #2
    Modérateur
    Avatar de gangsoleil
    Homme Profil pro
    Manager / Cyber Sécurité
    Inscrit en
    Mai 2004
    Messages
    10 150
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Manager / Cyber Sécurité

    Informations forums :
    Inscription : Mai 2004
    Messages : 10 150
    Points : 28 129
    Points
    28 129
    Par défaut
    Bonjour,

    Ton problème n'est pas très clair, mais il y a au moins plusieurs problèmes :
    Tu dis que '\n' est lu comme deux caractères, ce qui te pose problème. Je comprends bien ton soucis, mais je pense qu'il vient du fait que dans le fichier que tu lis, il y a bien deux caractères distincts, d'abord '\' puis 'n'. fgetc va donc lire chacun des caractère. Si tu avais '\n' dans ton fichier, fgetc() lirait un seul caractère.

    Concernant ta fonction :
    Tu as des soucis avec la touche entree et avec les accolades ? Tu as presque tout en un bloc, c'est difficilement lisible, et ça ne donne pas envie.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    void do_split_char(str fichier) //je passe sur le str...
    {
        int nombre_split_char =0;
        FILE *zap = fopen(fichier, "r");    // zap, c'est pas terrible comme nom, mais c'est correct.
        if(!zap) usage("stop.list introuvable");
        while (fgetc(zap) != EOF) nombre_split_char++;        //on compte le nombre de carractère
        fclose(zap);                             // Tu fermes le fichier pour le rouvrir juste apres... Regarde la fonction fseek(), je pense qu'elle fait ce que tu veux
        zap = fopen(fichier, "r");               // D'ailleurs, tu ne testes pas la ré-ouverture
        char sas[nombre_split_char];             // Tu déclares une variable au milieu du code              //sas contenant la stop liste
        while (fgets(sas,nombre_split_char, zap)) // C'est censé faire quoi ça ?
        split_chars = sas;                        // Tu fais pointer split_chars sur une variable locale. Que va-t-il rester une fois la fonction finie, si ce n'est un pointeur sur une zone non allouée ?
        fclose(zap);
    }

  3. #3
    Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Janvier 2014
    Messages
    208
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2014
    Messages : 208
    Points : 60
    Points
    60
    Par défaut
    voila ce que j'ai refais pour cette exercice que je viens de comprendre,

    enfaîte il faut lire un fichier qui s'appelle ("stoplist.list") qui contient ('ce de du en le la mais on ou par pas pour qui un une'). et comparer avec les mots du fichier qu'on doit ouvrir dans la console. si le mots est dans le fichier ouvert dans la console on l'ignore sinon on l'indexe

    on doit avoir le résultat suivant dans la console : pour un fichier qui contient exemple (un programme qui commence par une ligne)

    doit envoyer :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    programme         1
    commence         1 
    ligne                  1
    j'ai testé ce code : j'ai fais des modification sur la fonction indexe :

    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
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    #include <stdio.h> // pour puts()
    #include <stdlib.h> // pour puts()
    #include <string.h>
    #define max_mots 1000 // nombre maximum d'éléments dans la table mots
     
    typedef unsigned idx ; // type index
    typedef char * str ; // type string
    typedef enum {False, True} bool ; // nouveau type
     
    #define max_refs 500 // nombre maximum de références par mot
    #define str char *
    str stoplist;
    idx refs[max_mots][max_refs] ; // matrice de max_mots par max_refs
    idx ref_libre[max_mots] ; // table de max_mots
    char *mots[max_mots] ; // table de max_mots
    idx mot_libre = 0 ; // où le premier est libre
     
    const str split_chars = "(., ;'\n!)" ; // pour commencer
    str stoplist;
    void usage(str message) { fprintf(stderr, "%s\n", message) ; exit(1) ; }
    bool pareil(str x, str y) { return strcasecmp(x, y) ? False : True ; }
     
     
    struct ndex // ndex étant le tag de cette structure
    { str mot ; // le mot à mémoriser
    idx ref_libre ; // l'index de sa 1ère référence libre
    idx refs[max_refs] ; } ; // sa table de références
     
     
     
    int indice(str mot) { idx x ; // soit un index dans la table des mots
    for (x = 0; mots[x] ; ++x) // ce mot est-il déjà mémorisé ?
    if (pareil(mot, mots[x])) return x ; // oui : retourne cet index
    return -1 ; } // non : retourne négatif
     
     
    void ajoute_mot(idx x, str mot, idx ref) // un index, un mot, une référence
    { mots[x] = mot ; // met le mot là où on te dit
    refs[x][0] = ref ; // met la référence correspondante
    ++ref_libre[x] ; // décale pour la réf suivante
    ++mot_libre ; }
     
    void ajoute_ref(idx x, idx ref) // un index, une référence
    { idx r = ref_libre[x] ; // intermédiaire inutile
    refs[x][r] = ref ; // ajoute la référence
    ++ref_libre[x] ; } // décale pour la réf suivante
     
     
    void ajoute_ref_cx17_2(idx x, idx ref) // un index, une référence
    { idx r = ref_libre[x] ; // intermédiaire inutile
    	int i = 0;
    	while(i<max_refs && refs[x][i] != ref ){
    		i++;
    	}
     
    	if(i>=max_refs){// teste si la refernce existe deja
    		refs[x][r] = ref ; // ajoute la référence
    		++ref_libre[x] ; // décale pour la réf suivante	
    	}
     
    } 	
     
     
     
     
    void indexe(str ligne, idx ref) // étant donnée une ligne de texte
    {FILE * zap = fopen("stoplist.list", "r") ;
    if (! zap) usage("fichier pas lisible") ;
    char * mots[6] ;
    int lu, max ;
    for (max = 0 ; max <= 6 && lu != EOF ; max++)
    {
    char sas[32] ;
    lu = fscanf(zap, "%s", sas) ;
    mots[max] = strdup(sas) ;
    fclose(zap) ;
    }
        str mot = strtok(strdup(ligne), split_chars) ; // attrape le 1er mot
        if (mot != stoplist) 
        {
    while (mot) // si ce n'est pas la chaîne vide
    { int x = indice(mot) ; // regarde s'il n'y est pas déjà
    if (x < 0) ajoute_mot(mot_libre, mot, ref) ; // et rajoute-le à la suite
    else ajoute_ref_cx17_2(x, ref) ; // sinon ajoute une nouvelle référence
    mot = strtok(NULL, split_chars) ; }
     } 
     else {return ; }
     
     
    void dump(idx k) // déverse le contenu de la mémoire
    { 
    	idx x, z ;
    	for (x = 0 ; x < k ; ++x) // scanne les mots un par un
    	{ if (mots[x]) // test redondant, en l'état
    	{ printf("%s :", mots[x]) ; // affiche le mot
    		for (z = 0 ; refs[x][z] ; ++z) // scanne ses références
    		printf(" %i", refs[x][z]) ; // affiche-les sur la même ligne
    		printf("\n") ; 
    		} 
    	} 
    } // termine par un alinéa
     
     
    int main(int k, const str ldc[])
    { 
    	if (k < 2) usage("manque le nom du fichier...") ; // il manque l'argument : dégage
    	char ligne[max_mots] ; // espace pour une ligne
    	FILE * flux = fopen(ldc[1], "r") ; // ouvre le texte
    	if (! flux) 
    		usage("fichier pas bon du tout...") ; // erreur à l'ouverture : dégage
    	idx x = 0 ; // à partir de l'index 0
    	while (fgets(ligne, max_mots, flux)) // tant qu'il y a du texte
    		indexe(ligne, ++x) ; // indexe la ligne suivante
    	fclose(flux) ; // ferme
    	dump(mot_libre) ; // affiche &#150; jusqu'au mot inutilisé
    	return 0 ; 
     
    }

  4. #4
    Modérateur
    Avatar de gangsoleil
    Homme Profil pro
    Manager / Cyber Sécurité
    Inscrit en
    Mai 2004
    Messages
    10 150
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Manager / Cyber Sécurité

    Informations forums :
    Inscription : Mai 2004
    Messages : 10 150
    Points : 28 129
    Points
    28 129
    Par défaut
    Citation Envoyé par l1informatique Voir le message
    j'ai testé ce code : j'ai fais des modification sur la fonction indexe
    Et quel est le problème ? En dehors du fait que ton code est illisible je veux dire : il compile, il fait ce que tu veux, il crash, autre ?

  5. #5
    Membre du Club
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2015
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Octobre 2015
    Messages : 25
    Points : 46
    Points
    46
    Par défaut
    Citation Envoyé par l1informatique Voir le message

    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
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    #include <stdio.h> // pour puts()
    #include <stdlib.h> // pour puts()
    #include <string.h>
    #define max_mots 1000 // nombre maximum d'éléments dans la table mots
     
    typedef unsigned idx ; // type index
    typedef char * str ; // type string
    typedef enum {False, True} bool ; // nouveau type
     
    #define max_refs 500 // nombre maximum de références par mot
    #define str char *
    str stoplist;
    idx refs[max_mots][max_refs] ; // matrice de max_mots par max_refs
    idx ref_libre[max_mots] ; // table de max_mots
    char *mots[max_mots] ; // table de max_mots
    idx mot_libre = 0 ; // où le premier est libre
     
    const str split_chars = "(., ;'\n!)" ; // pour commencer
    str stoplist;
    void usage(str message) { fprintf(stderr, "%s\n", message) ; exit(1) ; }
    bool pareil(str x, str y) { return strcasecmp(x, y) ? False : True ; }
     
     
    struct ndex // ndex étant le tag de cette structure
    { str mot ; // le mot à mémoriser
    idx ref_libre ; // l'index de sa 1ère référence libre
    idx refs[max_refs] ; } ; // sa table de références
     
     
     
    int indice(str mot) { idx x ; // soit un index dans la table des mots
    for (x = 0; mots[x] ; ++x) // ce mot est-il déjà mémorisé ?
    if (pareil(mot, mots[x])) return x ; // oui : retourne cet index
    return -1 ; } // non : retourne négatif
     
     
    void ajoute_mot(idx x, str mot, idx ref) // un index, un mot, une référence
    { mots[x] = mot ; // met le mot là où on te dit
    refs[x][0] = ref ; // met la référence correspondante
    ++ref_libre[x] ; // décale pour la réf suivante
    ++mot_libre ; }
     
    void ajoute_ref(idx x, idx ref) // un index, une référence
    { idx r = ref_libre[x] ; // intermédiaire inutile
    refs[x][r] = ref ; // ajoute la référence
    ++ref_libre[x] ; } // décale pour la réf suivante
     
     
    void ajoute_ref_cx17_2(idx x, idx ref) // un index, une référence
    { idx r = ref_libre[x] ; // intermédiaire inutile
    	int i = 0;
    	while(i<max_refs && refs[x][i] != ref ){
    		i++;
    	}
     
    	if(i>=max_refs){// teste si la refernce existe deja
    		refs[x][r] = ref ; // ajoute la référence
    		++ref_libre[x] ; // décale pour la réf suivante	
    	}
     
    } 	
     
     
     
     
    void indexe(str ligne, idx ref) // étant donnée une ligne de texte
    {FILE * zap = fopen("stoplist.list", "r") ;
    if (! zap) usage("fichier pas lisible") ;
    char * mots[6] ;
    int lu, max ;
    for (max = 0 ; max <= 6 && lu != EOF ; max++)
    {
    char sas[32] ;
    lu = fscanf(zap, "%s", sas) ;
    mots[max] = strdup(sas) ;
    fclose(zap) ;
    }
        str mot = strtok(strdup(ligne), split_chars) ; // attrape le 1er mot
        if (mot != stoplist) 
        {
    while (mot) // si ce n'est pas la chaîne vide
    { int x = indice(mot) ; // regarde s'il n'y est pas déjà
    if (x < 0) ajoute_mot(mot_libre, mot, ref) ; // et rajoute-le à la suite
    else ajoute_ref_cx17_2(x, ref) ; // sinon ajoute une nouvelle référence
    mot = strtok(NULL, split_chars) ; }
     } 
     else {return ; }
     
     
    void dump(idx k) // déverse le contenu de la mémoire
    { 
    	idx x, z ;
    	for (x = 0 ; x < k ; ++x) // scanne les mots un par un
    	{ if (mots[x]) // test redondant, en l'état
    	{ printf("%s :", mots[x]) ; // affiche le mot
    		for (z = 0 ; refs[x][z] ; ++z) // scanne ses références
    		printf(" %i", refs[x][z]) ; // affiche-les sur la même ligne
    		printf("\n") ; 
    		} 
    	} 
    } // termine par un alinéa
     
     
    int main(int k, const str ldc[])
    { 
    	if (k < 2) usage("manque le nom du fichier...") ; // il manque l'argument : dégage
    	char ligne[max_mots] ; // espace pour une ligne
    	FILE * flux = fopen(ldc[1], "r") ; // ouvre le texte
    	if (! flux) 
    		usage("fichier pas bon du tout...") ; // erreur à l'ouverture : dégage
    	idx x = 0 ; // à partir de l'index 0
    	while (fgets(ligne, max_mots, flux)) // tant qu'il y a du texte
    		indexe(ligne, ++x) ; // indexe la ligne suivante
    	fclose(flux) ; // ferme
    	dump(mot_libre) ; // affiche – jusqu'au mot inutilisé
    	return 0 ; 
     
    }
    Il faudrait revoir un peu l'indentation de ton code.
    De plus, il ne compile pas car il faut ajouter une accolade pour fermer ta fonction indexe.

  6. #6
    Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Janvier 2014
    Messages
    208
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2014
    Messages : 208
    Points : 60
    Points
    60
    Par défaut
    j'ai compilé mais j'ai cette erreur

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SVF1521A7EB:~$ ./exo  mots.txt
    *** Error in `./exo': malloc(): memory corruption: 0xb77d4008 ***
    Abandon (core dumped)

  7. #7
    Modérateur
    Avatar de gangsoleil
    Homme Profil pro
    Manager / Cyber Sécurité
    Inscrit en
    Mai 2004
    Messages
    10 150
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Manager / Cyber Sécurité

    Informations forums :
    Inscription : Mai 2004
    Messages : 10 150
    Points : 28 129
    Points
    28 129
    Par défaut
    Pas de warning à la compilation ?

    C'est bien le même code que tu exécutes ? Je demande ça car là tu as une erreur sur malloc, mais je ne crois pas avoir vu de malloc dans ton code.

Discussions similaires

  1. Problème de pointeurs..embrouillé
    Par Frenchy dans le forum C++
    Réponses: 11
    Dernier message: 10/03/2005, 16h33
  2. Problème de pointeur avec un TQuery
    Par Oluha dans le forum Bases de données
    Réponses: 3
    Dernier message: 25/01/2005, 13h57
  3. Problème de pointeur
    Par toma_lille dans le forum C++
    Réponses: 1
    Dernier message: 07/12/2004, 21h26
  4. [MFC] Problème de pointeur !!
    Par acastor dans le forum MFC
    Réponses: 7
    Dernier message: 19/03/2004, 15h50
  5. TBitmap et problèmes de pointeurs...
    Par benj63 dans le forum C++Builder
    Réponses: 8
    Dernier message: 28/07/2003, 13h39

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