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 :

aide test d'argument


Sujet :

C

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    226
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 226
    Par défaut aide test d'argument
    boujour,

    voila j'aurais voulu savoir comment faire pour

    faire un test argument si il commence par . ou /:

    avec l'utilisation de strncmp.


    sinon autre solution

    merci d'avance

  2. #2
    Expert confirmé
    Avatar de Thierry Chappuis
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Mai 2005
    Messages
    3 499
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Suisse

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 499
    Par défaut
    Pas besoin de strncmp() pour cela. Si ton argument est une chaine de caractères, il te suffit de tester:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    if (mon_argument[0] == '.')
    {
        /*...*/
    }
    else if (mon argument[0] == '/')
    {
        /*...*/
    }
    else
    {
        /*...*/
    }

    Thierry
    "The most important thing in the kitchen is the waste paper basket and it needs to be centrally located.", Donald Knuth
    "If the only tool you have is a hammer, every problem looks like a nail.", probably Abraham Maslow

    FAQ-Python FAQ-C FAQ-C++

    +

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    226
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 226
    Par défaut
    En faite s'est pour mon program ls - lR que je suis entrain de faire

    et je voudrais faire un test aui me renverrai une erreur si l'argument n'est pas . ou /

  4. #4
    Expert confirmé
    Avatar de Thierry Chappuis
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Mai 2005
    Messages
    3 499
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Suisse

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 499
    Par défaut
    Citation Envoyé par jameson Voir le message
    En faite s'est pour mon program ls - lR que je suis entrain de faire

    et je voudrais faire un test aui me renverrai une erreur si l'argument n'est pas . ou /
    Voici un exemple:

    Sous forme d'un programme exécutable, on obtient:

    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>
     
    void usage(void)
    {
        printf("Usage: mon_programme chemin\n");
    }
     
    int main(int argc, char *argv[])
    {
        int ret = 0;
     
        if (argc == 2)
        {
            int c = argv[1][0];
     
            if (c == '.')
            {
                printf("Chemin relatif!\n");
            }
            else if (c == '/')
            {
                printf("Chemin absolu!\n");
            }
            else
            {
                /* -tc- Erreur */
                usage();
                ret = EXIT_FAILURE;
            }
        }
        else
        {
            usage();
            ret = EXIT_FAILURE;
        }
     
        return ret;
    }
    Thierry
    "The most important thing in the kitchen is the waste paper basket and it needs to be centrally located.", Donald Knuth
    "If the only tool you have is a hammer, every problem looks like a nail.", probably Abraham Maslow

    FAQ-Python FAQ-C FAQ-C++

    +

  5. #5
    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 Thierry Chappuis Voir le message
    Pas besoin de strncmp() pour cela. Si ton argument est une chaine de caractères, il te suffit de tester:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    if (mon_argument[0] == '.')
    {
        /*...*/
    <...>
    Ou tout simplement :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    switch (mon argument[0])
    {
    case '.' :
        /*...*/
       break;
    case '/' :
        /*...*/
       break;
    default:
       ;
        /*...*/
    }

  6. #6
    Expert confirmé
    Avatar de Thierry Chappuis
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Mai 2005
    Messages
    3 499
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Suisse

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 499
    Par défaut
    Citation Envoyé par Emmanuel Delahaye Voir le message
    Ou tout simplement :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    switch (mon argument[0])
    {
    case '.' :
        /*...*/
       break;
    case '/' :
        /*...*/
       break;
    default:
       ;
        /*...*/
    }
    Equivalent!

    Thierry
    "The most important thing in the kitchen is the waste paper basket and it needs to be centrally located.", Donald Knuth
    "If the only tool you have is a hammer, every problem looks like a nail.", probably Abraham Maslow

    FAQ-Python FAQ-C FAQ-C++

    +

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

Discussions similaires

  1. [Débutant] Aide test technique
    Par Error407 dans le forum Développement Web avec .NET
    Réponses: 3
    Dernier message: 19/07/2012, 12h42
  2. Aide Programmation C Arguments
    Par Invité dans le forum C
    Réponses: 4
    Dernier message: 15/02/2010, 17h07
  3. Simplifier un test avec arguments
    Par dodo91 dans le forum Langage
    Réponses: 3
    Dernier message: 10/06/2009, 16h07
  4. Aide test d'entrée boucle while
    Par xmc_boss dans le forum Shell et commandes GNU
    Réponses: 2
    Dernier message: 21/05/2008, 23h01
  5. [Debutant ] Test des arguments du programme
    Par peaceinpal dans le forum C
    Réponses: 2
    Dernier message: 09/10/2005, 13h20

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