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 :

structure transtypée vers tableau


Sujet :

C

  1. #1
    Membre très actif Avatar de J4e8a16n
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    271
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 271
    Par défaut structure transtypée vers tableau
    Bon après-midi,

    La joie des pointeurs, encore plus.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    size_t i;
    char *hashedbuff[1024] = {0};
    struct nlist *np;
     
       for ( i = 0 ; i < HASHSIZE ; i++ ) {
          for ( np = table[i] ; np != NULL ; np = np->next ) {
     
             hashedbuff[i] = (char *) malloc (1 + strlen( np->name)  * sizeof(char));
             strcpy(hashedbuff[i], np->name);
             printf ( "tableauIfie\t\t%s", hashedbuff[i] );
          }
       }

    En dehors de la boucle, printf donne hashedbuff[0] = NULL

    Je nage toujours ...

  2. #2
    Expert confirmé
    Avatar de diogene
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Juin 2005
    Messages
    5 761
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 761
    Par défaut
    Pourquoi ce titre qui n'a rien à voir avec ton problème ?

    Je ne comprend pas pourquoi tu as une double boucle. A l'intérieur tu as
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
             hashedbuff[i] = (char *) malloc (1 + strlen( np->name)  * sizeof(char));
    Ceci implique que hashedbuff[i] est écrasé par une nouvelle valeur à chaque fois que tu fais un tour de boucle sur np.

  3. #3
    Membre très actif Avatar de J4e8a16n
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    271
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 271
    Par défaut
    Pourquoi ce titre qui n'a rien à voir avec ton problème ?
    Parce que je croyais que c'était ce que je faisais.

    Je ne comprend pas pourquoi tu as une double boucle.
    Parce que je parse une série de structures
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    char *buff[2048] = {0};
    struct nlist {
       struct nlist *next;
       char *name;
       char *defn;
    };
    static struct nlist *hashtab[HASHSIZE];
    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
     
    struct nlist *install( char *name, char *defn ) {
       struct nlist *np;
       unsigned hashval;
     
       if ( ( np = lookup( name ) ) == NULL ) {   /*  not found  */
          np = ( struct nlist* ) malloc( sizeof( *np ) );
     
          if ( NULL == np  || NULL == ( np->name = strdup( name ) ) )
             return NULL;
     
          hashval = hash( name );
          np->next = hashtab[hashval];
          hashtab[hashval] = np;
       } else /*  already there  */
          free( ( void* ) np->defn );   /*  free previous definiition  */
     
       if ( NULL == ( np->defn = strdup( defn ) ) )
          return NULL;
     
    return np;
    }
    Ceci implique que hashedbuff[i] est écrasé par une nouvelle valeur à chaque fois que tu fais un tour de boucle sur np.
    i est censé changer. Il n'y a qu'un seul np->name pour chaque table[i] . . . non?

  4. #4
    Expert confirmé
    Avatar de diogene
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Juin 2005
    Messages
    5 761
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 761
    Par défaut
    i est censé changer.
    i ne changera que lorsqu'on sera arrivé à np == NULL, pas avant.
    Il n'y a qu'un seul np->name pour chaque table[i] . . . non?
    Normalement, c'est toi qui le sait. Mais alors, pourquoi cette boucle sur np ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
          for ( np = table[i] ; np != NULL ; np = np->next ) {
    ....
             strcpy(hashedbuff[i], np->name);

  5. #5
    Membre très actif Avatar de J4e8a16n
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    271
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 271
    Par défaut
    Ceci ne fonctionne pas.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
       for ( i = 0 ; i < HASHSIZE ; i++ ) {
             np = table[i];
             hashedbuff[i] = (char *) malloc (1 + strlen( np->name)  * sizeo(char));
             strcpy(hashedbuff[i], np->name);
             printf ( "tableauIfie\t\t%s", hashedbuff[i] );
       }
    Double boucle. Ceci fonctionne:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
       for ( i = 0 ; i < HASHSIZE ; i++ ) {
          for ( np = table[i] ; np != NULL ; np = np->next ) {
             printf ( "%s", np->name );
          }
    }
    Ceci n'imprime qu'un seul nom.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
          for ( ; np != NULL ; np = np->next ) {
             printf ( "%s", np->name );
          }
    Ceci aussi.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    printf ( "%s", np->name );
    Simple boucle. Ceci ne fonctionne pas:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
       for ( i = 0 ; i < HASHSIZE ; i++ ) {
          np = table[i];
             printf ( "%s", np->name );
          }
    Ma table de hashage est-elle mal construite?

    Je suis complètement embrouillé.

  6. #6
    Membre très actif Avatar de J4e8a16n
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    271
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 271
    Par défaut
    Citation Envoyé par diogene Voir le message
    i ne changera que lorsqu'on sera arrivé à np == NULL, pas avant.

    Normalement, c'est toi qui le sait. Mais alors, pourquoi cette boucle sur np ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    for ( np = table[i] ; np != NULL ; np = np->next ) {
    ....
    strcpy(hashedbuff[i], np->name);

    De plus, pourquoi mes adresses sont-elles toutes différentes si l'adresse de départ est constemment écrasée?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    ...
             strcpy(hashedbuff[i], np->name);
             printf ( "%p-  %s", hashedbuff[i], hashedbuff[i] );
    ...
    hash: 195  00D540A8-  Every shared library has a special name called the ``soname''.
    hash: 340  00D540F0-  The key to managing shared libraries is the separation of these names.
    hash: 463  00D54140-  Car, il sera ok hah bomb adil.
    hash: 472  00D54168-  Avant que ce soit.
    hash: 806  00D54188-  The soname has the prefix ``lib'', the name of the.
    ...
     
    tableauIfie		00000000  (null)
    Donc i change, parce que les # de structures ne sont pas ordonnés. L'ordre est aléatoire. On doit donc trouver un 'premier' numéro. Ce 'premier' numéro n'est pas forcément le numéro que l'on a attribué à disons l'item [Avant que ce soit.] 472.

    472->next peut très bien être [Every shared library has a special name called the ``soname''.] 195

    Ce que je crois avoir démontré:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    printf ( "==%s   ==%s", table[472]->name, table[195]->name);
    ==Avant que ce soit.     ==Every shared library has a special name called the ``soname''.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    i ne changera que lorsqu'on sera arrivé à np == NULL, pas avant.
    Je ne crois pas que NULL teste le for. Le next doit mener à la structure suivante; pourquoi ne semble-t-il pas le faire? S'il le faisait, i ne serait pas incrémenté à moins que le next fasse le tour de toute la table de hashage 4 fois. Il ne le fait pas sinon j'aurais l'output des 4 lignes pour chaque table[i] :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    195 Every shared library has a special name called the ``soname''.
    340 The key to managing shared libraries is the separation of these names.
    463 Car, il sera ok hah bomb adil.
    472 Avant que ce soit.

  7. #7
    Membre très actif Avatar de J4e8a16n
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    271
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 271
    Par défaut
    Bonjour,

    Et là, nouveau test:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
      for (j=0, np = table[i] ; np != NULL ; np = np->next , j++)
    ...
    printf ( "hashedbuff\t%d\t%p\t%s", j, hashedbuff[j], hashedbuff[j] );
    ...
    J'obtiens:

    hashedbuff 0 806 The soname has the prefix ``lib'', the name of the.
    hashedbuff 1 00000000 (null)
    ---
    Zut, elle est écrasée?

    Pourquoi?

  8. #8
    Expert éminent
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Par défaut
    Citation Envoyé par J4e8a16n Voir le message
    La joie des pointeurs, encore plus.
    <...>
    Je nage toujours ...
    Ton code est incomplet.

    Que signifie 1024 ?
    Que vaut HASHSIZE ?
    Qu'est-ce que 'table' ?

    Faut-il faire plus compliqué que :
    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
     
    #include <stdio.h>
    #include <stdlib.h>
    #include <strings.h>
     
    #define HASHSIZE (sizeof table /sizeof *table)
     
    struct nlist
    {
       struct nlist *next;
       char const *name;
    };
     
    int main (void)
    {
       size_t i;
       char *hashedbuff[1024] = { 0 };
     
       struct nlist c = { NULL, "ghi" };
       struct nlist b = { &c, "def" };
       struct nlist a = { &b, "abc" };
     
       struct nlist *table[] = {
          &a,
          &b,
          &c,
          NULL,
       };
       struct nlist *np;
       i = 0;
       for (np = table[i]; np != NULL; np = np->next)
       {
          hashedbuff[i] = strdup(np->name);
          printf ("tableauIfie[%u] = '%s'\n", (unsigned) i, hashedbuff[i]);
          i++;
       }
     
       return 0;
    }
    (à part libérer la mémoire). Quel est le but ?

  9. #9
    Membre très actif Avatar de J4e8a16n
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    271
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 271
    Par défaut
    C'est l'exemple de Kernigan et Ritchie 2ed frenchpage145 modifiée un peu.

    1024 nombre de pointeurs dans le tableau.
    #define HASHSIZE 850
    static struct nlist *hashtab[HASHSIZE];
    table est le paramètre pour recevoir *hashtab
    -------------
    Je compile le vôtre et j'ai des warnings:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    ---------- GCC   -W -Wall -pedantic -mconsole -Wno-missing-braces  ----------
    hashtst.c: In function `main':
    hashtst.c:19: warning: initializer element is not computable at load time
    hashtst.c:20: warning: initializer element is not computable at load time
    hashtst.c:23: warning: initializer element is not computable at load time
    hashtst.c:24: warning: initializer element is not computable at load time
    hashtst.c:25: warning: initializer element is not computable at load time
     
    Output completed (0 sec consumed)

    J'obtiens quand même à l'exécution:
    tableauIfie[0] = 'abc'
    tableauIfie[1] = 'def'
    tableauIfie[2] = 'ghi'

  10. #10
    Expert éminent
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Par défaut
    Citation Envoyé par J4e8a16n Voir le message
    C'est l'exemple de Kernigan et Ritchie 2ed frenchpage145 modifiée un peu.
    Tu parles des chapitre 6.6 ou 6.7 ?
    Je compile le vôtre et j'ai des warnings:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    ---------- GCC   -W -Wall -pedantic -mconsole -Wno-missing-braces  ----------
    hashtst.c: In function `main':
    hashtst.c:19: warning: initializer element is not computable at load time
    hashtst.c:20: warning: initializer element is not computable at load time
    hashtst.c:23: warning: initializer element is not computable at load time
    hashtst.c:24: warning: initializer element is not computable at load time
    hashtst.c:25: warning: initializer element is not computable at load time
     
    Output completed (0 sec consumed)
    quick n'dirty fix :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
       static struct nlist c = { NULL, "ghi" };
       static struct nlist b = { &c, "def" };
       static struct nlist a = { &b, "abc" };

    J'obtiens quand même
    tableauIfie[0] = 'abc'
    tableauIfie[1] = 'def'
    tableauIfie[2] = 'ghi'
    est-ce le but recherché ?

  11. #11
    Membre très actif Avatar de J4e8a16n
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    271
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 271
    Par défaut
    6.6

    Je dois cesser de m'amuser pour quelques heures.

  12. #12
    Membre très actif Avatar de J4e8a16n
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    271
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 271
    Par défaut
    6.6

    C'est le but recherché mais je devrai le complexifier pour obtenir les possibilités de l'autre.

    Je vous quitte. À plus.

  13. #13
    Expert éminent
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Par défaut
    Citation Envoyé par J4e8a16n Voir le message
    6.6

    C'est le but recherché mais je devrai le complexifier pour obtenir les possibilités de l'autre.
    Quelle est la specification ? On ne complexifie pas par plaisir, mais uniquement si c'est nécessaire...

  14. #14
    Membre très actif Avatar de J4e8a16n
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    271
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 271
    Par défaut
    ---
    Zut, elle est écrasée.
    Pourquoi?
    Pourquoi?
    Le next doit mener à la structure suivante; pourquoi ne semble-t-il pas le faire?
    Pourquoi? Install [de K&R] devrait pourtant lier les structures entre elles même si les adresses sont aux quatre vents de la mémoire.
    diogene
    i ne changera que lorsqu'on sera arrivé à np == NULL, pas avant.
    Y a pas de NULL établi par *install()?
    Je reviens à tes moutons
    --
    >Quelle est la specification ?
    Lire un fichier texte. ------------------------------stdin
    Enlever les phrases en double -----------table de hachage
    Trier les phrases qui restent. ------------------qsort
    Placer en ordre dans un fichier texte de sortie. ----FILE
    --

  15. #15
    Membre très actif Avatar de J4e8a16n
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    271
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 271
    Par défaut
    Avec ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    int j = 0;
    ...
    hashedbuff[j++] = strdup(np->name);
    elle n'est plus écrasée. J'ai mon tableau.

    Tous mes specs sont remplies mais, demeurent 2 mes deux questions . . . et un code EDL à étudier.

    JPD

  16. #16
    Expert éminent
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Par défaut
    Citation Envoyé par J4e8a16n Voir le message
    Avec ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    int j = 0;
    ...
    hashedbuff[j++] = strdup(np->name);
    elle n'est plus écrasée. J'ai mon tableau.
    Oui, j'avais donné la solution :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
       i = 0;
       for (np = table[i]; np != NULL; np = np->next)
       {
          hashedbuff[i] = strdup(np->name);
          i++;

  17. #17
    Membre très actif Avatar de J4e8a16n
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    271
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 271
    Par défaut
    Ah bon. Je l'ai probablement enregistrée inconsciemment. Merci.

    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
     
    /*  1Lign1Phrase.c   inspiré de K&R page145    */
    /*   1Lign1Phrase <t.txt >t2.txt & t2.txt    */
    #include <stdio.h>
    #include <string.h>
    #include <stdlib.h>
     
    #define HASHSIZE 150
     
    struct nlist {
       struct nlist *next;
       char *name;
       char *defn;
    };
    static struct nlist *hashtab[HASHSIZE];    /*  tableau de pointeurs  */
     
    struct nlist *install( char *name, char *defn );
    int pstrcmp(const void * p1, const void * p2);
    struct nlist *lookup( char *s );
    unsigned hash( char *s );
     
     
             /*  *********************  fonctions  *********************************  */
     
    struct nlist *lookup( char *s ) {
     
       struct nlist *np;
     
       for ( np = hashtab[hash( s )]; np != NULL; np = np->next )
          if ( strcmp( s, np->name ) == 0 )
             return np;
     
       return NULL;
    }
     
    unsigned hash( char *s )
    {
       unsigned hashval;
     
       for ( hashval = 0; *s != '\0' ;s++ ) {
          hashval = *s + 31 * hashval;
       }
     
       return hashval % HASHSIZE;
    }
     
    /* FAQ   Fonction qui compare deux pointeurs  vers des chaines pour qsort */
    int pstrcmp(const void * p1, const void * p2)
    {
    return strcmp(*(char * const *)p1, *(char * const *)p2);
    }
     
     
    struct nlist *install( char *name, char *defn ) {
     
       struct nlist *np;
       unsigned hashval;
     
       if ( ( np = lookup( name ) ) == NULL ) {   /*  not found  */
          np = ( struct nlist* ) malloc( sizeof( *np ) );
     
          if ( NULL == np  || NULL == ( np->name = strdup( name ) ) )
             return NULL;
     
          hashval = hash( name );
          np->next = hashtab[hashval];
          hashtab[hashval] = np;
     
       } else /*  already there  */
          free( ( void* ) np->defn );   /*  free previous definiition  */
     
       if ( NULL == ( np->defn = strdup( defn ) ) )
          return NULL;
     
       /*  printf ("%s", np->name);  */
       return np;
    }
     
     
    /*  **************************   MAIN   *******************************  */
    /*   1Lign1Phrase <t.txt >t2.txt & t2.txt    */
     
    int main( void )
    {
    size_t i;
    struct nlist *npp;
    int j = 0;
    int k = 0;
    char basebuf[HASHSIZE] = {0};
    char *tableAsort[HASHSIZE] = {0};
     
        while ( NULL != fgets( basebuf, sizeof basebuf, stdin ) ) 
                                install(basebuf , "");
     
        for ( i = 0 ; i < HASHSIZE ; i++ )
          for ( npp = hashtab[i] ; npp != NULL ;  npp =  npp->next)
                         tableAsort[j++] = strdup(npp->name);
     
    qsort (tableAsort, j-1, sizeof (*tableAsort),  pstrcmp);
     
    printf ( "\n---------  qsort the hashedbuff   ---------------\n\n" );
               for (k=0;  tableAsort[k] != NULL ; k++)
                                 printf("%s", tableAsort[k] );
    fflush(stdout);
     
    return EXIT_SUCCESS;
    }/*  end main  */

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

Discussions similaires

  1. IntPtr vers Tableau de structures
    Par Limuath dans le forum C#
    Réponses: 3
    Dernier message: 17/07/2007, 21h36
  2. [WD9] Fichier HF vers tableau mémoire
    Par Romanops dans le forum WinDev
    Réponses: 8
    Dernier message: 08/06/2006, 12h10
  3. changement de format lors d un lien vers tableau excel
    Par Lionel b dans le forum Access
    Réponses: 2
    Dernier message: 07/04/2006, 08h41
  4. convertion pointeur vers tableau
    Par gdpasmini dans le forum C++
    Réponses: 2
    Dernier message: 30/03/2006, 00h34
  5. Réponses: 9
    Dernier message: 22/09/2005, 11h52

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