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 :

Argument de ligne de commande


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 46
    Par défaut Argument de ligne de commande
    Bonjour a tous.

    J'ai regardé dans la FAQ je n'ai pas trouvé de réponses. Je m'adresse donc a vous.

    Voici mon code:
    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
    /*****************************************************************************/
    /* Developpeur: Skandhal      -      APPLICATION                             */
    /* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
    /* Date de création:                  16 juin 2008                           */
    /* Date de dernière modification:     16 juin 2008                           */
    /* Version:                           0.8.6                                  */
    /*****************************************************************************/
    #include <stdio.h>
    #include <stdlib.h>
     
    #include "skandhal.h"
     
    #define MAXI 64
     
    int main(int argc, char *argv[])
    {
      	char tabStr[MAXI];
    	int i;
     
    	if (argc > 1) {
    	    for (i=1; i<argc; i++) {
                printf("Chaine non formatee: %s\n", argv[i]);
    	    	transformName(argv[i]);
    	    	printf("Chaine formatee    : %s\n\n", argv[i]); // Controle de transformation et copie
        	}
    	} else {
    	    fflush(stdout);
    	    printf("\nProgramme de test de la fonction noUserCase.\n");
    	    printf("Saisir la chaine de caractère a traiter: (Max. 63 caracteres)\n");
    	    fgets(tabStr, MAXI, stdin); //Saisie (fgets pour éviter le débordement de tableau)
    	    fflush(stdin); //Vide le buffer clavier
    	    transformName(tabStr);
    	    printf("tabStr: %s\n", tabStr); // Controle de transformation et copie
    	}
      return 0;
      // Fin int main()
    }
    Le résultat que j'ai:
    D:\stage_arnaud\Skandhal\Output\MingW>Prj_transformName.exe - "Anonymous" cn=nono/o=organisation
    Chaine non formatee: - (OK)
    Chaine formatee : _Anonymous (OK)
    Chaine non formatee: onymous (non)
    Chaine formatee : onymous (oui par rapport à la chaine non formatée)
    Chaine non formatee: cn=nono/o=organisation (OK)
    Chaine formatee : Nono (Organisation) (OK)
    Et j'attend le résultat suivant:
    D:\stage_arnaud\Skandhal\Output\MingW>Prj_transformName.exe - "Anonymous" cn=nono/o=organisation
    Chaine non formatee: - (OK)
    Chaine formatee : _Anonymous (OK)
    Chaine non formatee: anonymous (OK)
    Chaine formatee : _Anonymous (OK)
    Chaine non formatee: cn=nono/o=organisation (OK)
    Chaine formatee : Nono (Organisation) (OK)
    J'aimerai savoir pourquoi il ne prend pas l'argument comme je lui donne?
    Merci de votre aide

  2. #2
    Expert confirmé

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    10 610
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 610
    Billets dans le blog
    2
    Par défaut
    d'une part c'est très mauvais de modifier directement l'argument d'entrée.

    D'autre part tu as un truc qui cloche (et je supoose là dedans avec la modification de méoire : attention à la taille)

    tu passes 3 fois alors que tu n'as que 2 arguments .

    Enfin, en génnéral, on colle le - à l'argument...

    Ou alors on lui ajoute quelque chose (du style -pass)

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 46
    Par défaut
    A vrai dire le '-' est un argument a part entiere. J'ai effectivement compris que ça venait des mes chaines de caractères aprés une grosse analyse et quelques schema quand je formate j'ecrase l'argument suivant... J'étais juste entrain de faire un petit programme pour tester ma fonction transformName du coup j'ai modifié ma fonction pour qu'elle ne dépasse pas la taille de la chaine d'entrée elle restera égale ou inferieure aprés la modification. Merci de ta réponse rapide.

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

Discussions similaires

  1. Réponses: 27
    Dernier message: 14/12/2006, 19h49
  2. Entrer un argument en ligne de commande
    Par alex_petit dans le forum Shell et commandes GNU
    Réponses: 3
    Dernier message: 14/12/2006, 00h11
  3. [VB.NET]Argument en ligne de commande
    Par Fayoul dans le forum Windows Forms
    Réponses: 3
    Dernier message: 01/06/2006, 12h27
  4. taille max des arguments en ligne de commande
    Par clepape dans le forum Langage
    Réponses: 2
    Dernier message: 08/10/2005, 13h18
  5. Réponses: 3
    Dernier message: 07/04/2003, 20h06

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