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 :

Erreur "size array"


Sujet :

C

  1. #1
    Futur Membre du Club
    Inscrit en
    Février 2003
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Février 2003
    Messages : 2
    Points : 5
    Points
    5
    Par défaut [resolu]Erreur "size array"
    Lorsque je declare ,

    code 1
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    unsigned char buf[] = "aaaaa";
    printmessage(1,2,(unsigned char *)buf,2);
    ma fonction printmessage s'execute correctement.
    Par contre lorsque je declare :

    code 2
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    unsigned char mot = "aaaaa";
    unsigned char buf[] = mot;
    printmessage(1,2,(unsigned char *)buf,2);
    ma fonction printmessage me sort une erreur type size array

    Je travaille sur un µcontroleur et toutes les librairies ne sont pas actives (strlen...)alors comment resoudre le pb de façon à ce que le code 2 fonctionne ??

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2002
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2002
    Messages : 35
    Points : 42
    Points
    42
    Par défaut
    il n'y aurait pas un probleme au niveau de

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    unsigned char mot = "aaaaa";
    tu declares une variable de type unsigned char ... et pas unsigned char * ... je pense que ca viens de la.
    Karuto
    MCSA, MSCE (Win2K), MCDBA (SQL 2K)

  3. #3
    Expert éminent sénior

    Homme Profil pro
    pdg
    Inscrit en
    Juin 2003
    Messages
    5 750
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : pdg

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 750
    Points : 10 670
    Points
    10 670
    Billets dans le blog
    3
    Par défaut
    Tu déclares 1 caractère, et tu tentes de l'initialiser avec plusieurs ...

  4. #4
    Membre éclairé
    Avatar de Elijha
    Homme Profil pro
    Ingénieur développement matériel électronique
    Inscrit en
    Avril 2003
    Messages
    314
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement matériel électronique
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Avril 2003
    Messages : 314
    Points : 742
    Points
    742
    Par défaut
    Salut

    A la place j'aurai déclaré:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    unsigned char mot[] = "aaaaa"; 
    unsigned char *buf = mot ; 
    printmessage(1,2,(unsigned char *)buf,2);
    buf pointe maintenant sur mot qui lui même contient 6 octets (5x'a' + 0 de fin de chaine).

    voila...
    - Une réponse vous a été utile ? Remerciez son auteur en cliquant le pouce vert !
    - Travailler dur n'a jamais tué personne, mais pourquoi prendre le risque (Edgar Bergen)

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

Discussions similaires

  1. [VB.NET] Tableau "index was outside of bound array"
    Par guillaume1998 dans le forum VB.NET
    Réponses: 1
    Dernier message: 11/11/2005, 14h07
  2. [cr 8.5] comment exploiter les données d'un "array"
    Par kikidrome dans le forum SAP Crystal Reports
    Réponses: 12
    Dernier message: 09/06/2005, 14h03

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