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 :

Déclarer tableau de string


Sujet :

C

  1. #1
    Membre chevronné
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    1 854
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 1 854
    Par défaut Déclarer tableau de string
    Bonjour,

    J'ai la fonction suivante qui me permet d’exécuter des commandes avec en arguments des paramètres de type string
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    void execute_command(char **argv, arg_nb);

    Je peux l'utiliser comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    char* args[] = {"2", "3"};
    execute_command(args, 2);
    Le problème est que je voudrais l'utiliser sans avoir à déclarer de variable "args" pour que le code soit plus lisible et qu'il tienne sur moins de lignes.
    J'ai essayé ceci mais ça ne compile pas :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    execute_command({"2", "3"}, 2);
    => il existe une astuce pour faire ceci ?

    merci d'avance

  2. #2
    Membre Expert
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2008
    Messages
    1 515
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France

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

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 515
    Par défaut
    Non.

  3. #3
    Membre chevronné
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    1 854
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 1 854
    Par défaut
    Tant pis
    merci quand meme

  4. #4
    Membre chevronné
    Inscrit en
    Juillet 2012
    Messages
    231
    Détails du profil
    Informations forums :
    Inscription : Juillet 2012
    Messages : 231
    Par défaut
    Citation Envoyé par matafan Voir le message
    Non.
    Si.
    À partir du C99 (grâce aux compound literals) :
    Code c : 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
     
    #include <stdio.h>
     
    void execute_command(const char* argv[], int arg_nb);
     
    int main(void)
    {
        execute_command((const char*[1]){"foo"},               1);
        execute_command((const char*[2]){"foo", "bar"},        2);
        execute_command((const char*[3]){"foo", "bar", "baz"}, 3);
        return 0;
    }
     
    void execute_command(const char* argv[], int arg_nb)
    {
        for (int i = 0; i < arg_nb; ++i)
            puts(argv[i]);
    }

  5. #5
    Membre chevronné
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    1 854
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 1 854
    Par défaut
    mon compilo n'a pas l'air d'apprecier

  6. #6
    Membre chevronné
    Inscrit en
    Juillet 2012
    Messages
    231
    Détails du profil
    Informations forums :
    Inscription : Juillet 2012
    Messages : 231
    Par défaut
    Tu compiles bien en C99 ?
    Quel compilateur utilises tu (si c'est celui de Microsoft, oublie : il ne supporte pas et ne supportera jamais le C99…) ?

  7. #7
    Membre chevronné
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    1 854
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 1 854
    Par défaut
    J'utilise un compilateur pour microcontrôleur PIC32 MCUs v2.02 (est basé sur GCC => version ?)
    Il y a certaines fonctionnalités du C99 qui sont implémentées (ex : inline) mais je pense que c'est du C90 avec quelques modifs

  8. #8
    Membre chevronné
    Inscrit en
    Juillet 2012
    Messages
    231
    Détails du profil
    Informations forums :
    Inscription : Juillet 2012
    Messages : 231
    Par défaut
    Citation Envoyé par boboss123 Voir le message
    J'utilise un compilateur pour microcontrôleur PIC32 MCUs v2.02 (est basé sur GCC => version ?)
    GCC 4.5.1 apparemment.
    Ce qui est bizarre pour le coup, car GCC semble supporter les compound literals depuis la 3.1

    Citation Envoyé par boboss123 Voir le message
    Il y a certaines fonctionnalités du C99 qui sont implémentées (ex : inline) mais je pense que c'est du C90 avec quelques modifs
    Bon après c'est peut-être une limitation de Microchip, mais tu as bien testé avec le flag --std=c99?

  9. #9
    Membre chevronné
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    1 854
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 1 854
    Par défaut
    quand j'active le flag --std=c99, ça ne compile plus

  10. #10
    Membre chevronné
    Inscrit en
    Juillet 2012
    Messages
    231
    Détails du profil
    Informations forums :
    Inscription : Juillet 2012
    Messages : 231
    Par défaut
    C’est à dire ?
    Tu as quel messages d’erreur ?

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

Discussions similaires

  1. Tester si une String fait partie d'un tableau de String
    Par laloi dans le forum Collection et Stream
    Réponses: 2
    Dernier message: 23/04/2005, 16h47
  2. [J2SE] tableau de string
    Par Jules82 dans le forum Collection et Stream
    Réponses: 3
    Dernier message: 17/03/2005, 14h35
  3. Ranger un tableau de String dans ma HashMap
    Par jeyce dans le forum Collection et Stream
    Réponses: 3
    Dernier message: 26/08/2004, 22h41
  4. [Collections] Conversion de Vector en tableau de String
    Par java_math dans le forum Collection et Stream
    Réponses: 5
    Dernier message: 06/06/2004, 12h55
  5. [Collections] Tableau de String
    Par gexti dans le forum Collection et Stream
    Réponses: 11
    Dernier message: 02/06/2004, 15h42

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