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 :

probleme taille de tableau


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2007
    Messages
    244
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Mars 2007
    Messages : 244
    Par défaut probleme taille de tableau
    bonjour à tous,

    j'ai un probleme lors de l'affichage d'un tableau statique

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    static struct servEvents
    {
    	const char *cmd;
    	//int (*fct) (int, char **);
    	int t;
    } evntab[] = {
    	{"CAPAB", 15},
    	{"SERVER", 18},
    	{"PING", 21},
    	{"BURST", 25},
    	{"ENDBURST", 27},
    	{"ERROR", 30},
    };
    lorsque j'affiche la taille du tableau via un sizeof(evntab), il me retourne bien 6 elements par contre lorsque je le parcours de cette maniere

    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
     
    /* array size */
    #define ASIZE(x) (sizeof (x) / sizeof *(x))
     
    static void irc_parse(char *buf)
    {
    	char *tab[MAXPARAMS];
    	char *cmd = NULL;
    	int count = 0, indice = 0;
    	size_t i = 0;
     
    	while (*buf) {
    		while (*buf == ' ') *buf++ = 0;
     
    		if (*buf == ':') {
    			buf++;
    			indice = 1;
    		}
     
    		if (count == indice && !cmd) cmd = buf;
    		else tab[count++] = buf;
     
    		while ((*buf) && (*buf != ' ')) buf++;
    	}
    	tab[count] = NULL;
     
    	for (;ASIZE(evntab);i++)
    		printf("EVENTAB: %s\n", evntab[i].cmd);
     
    }
    il m'affiche:

    EVENTAB: CAPAB
    EVENTAB: SERVER
    EVENTAB: PING
    EVENTAB: BURST
    EVENTAB: ENDBURST
    EVENTAB: ERROR
    EVENTAB: (null)
    EVENTAB: (null)
    EVENTAB: *û
    EVENTAB: (null)
    EVENTAB: (null)
    EVENTAB: (null)
    d'ou vient le probleme ?
    merci d'avance

  2. #2
    Modérateur
    Avatar de Obsidian
    Homme Profil pro
    Chercheur d'emploi
    Inscrit en
    Septembre 2007
    Messages
    7 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Chercheur d'emploi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 7 481
    Par défaut
    Il vient d'ici :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    for (;ASIZE(evntab);i++)
    		printf("EVENTAB: %s\n", evntab[i].cmd);

    « i » n'est pas du tout impliqué dans la condition d'arrêt (au centre). Il n'y a pas de raison que ça s'arrête, donc.

  3. #3
    Membre éclairé
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2007
    Messages
    244
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Mars 2007
    Messages : 244
    Par défaut
    alors la j'ai vraiment honte de moi parceque la c'etait vraiment stupide de ma part, merci Obsidian la "problème" est reglé.

Discussions similaires

  1. Réponses: 2
    Dernier message: 26/08/2008, 14h32
  2. Probleme taille tableau
    Par max_1988 dans le forum Collection et Stream
    Réponses: 4
    Dernier message: 08/04/2008, 09h58
  3. Probleme de taille de tableau
    Par Forza Correza dans le forum C++
    Réponses: 14
    Dernier message: 01/10/2006, 23h17
  4. besoin d'aide probleme taille tableau
    Par zhao dans le forum C++
    Réponses: 8
    Dernier message: 28/09/2006, 09h14
  5. static const et taille de tableau
    Par tut dans le forum C++
    Réponses: 3
    Dernier message: 27/01/2005, 16h01

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