Flux rss
Collection CommentÇaMarche.net
Rechercher : dans
Par :

Getopt() langage C

LaZo61, le vendredi 4 mai 2007 à 16:34:44 
 Signaler ce message aux modérateurs

Bonjour,

Je n,arrive pas a lance l,afficheur doption suivant
while ((option = getopt (argc, argv, "u:p:t")) != -1)
{
switch (option)
{ case 'u':
username = optarg;
break;
case 'd':
password = optarg;
break;
case 't':
transfer_rate = optarg;
break;

exit(0);
}
} merci davance.

C* -----> Either exist as you are or be as you look <---- C*

Configuration: Linux
Firefox 1.0.7

1

Stupeflip, le vendredi 4 mai 2007 à 16:46:33

Pouet,

Et quelle est l'erreur ? ^^
Qui n'a rien n'a rien (Proverbe Norvillois)

Répondre à Stupeflip

2

LaZo61, le vendredi 4 mai 2007 à 16:48:58

Y a pas d'erreur il n'affiche rien il neglige cette fonction :( C* -----> Either exist as you are or be as you look <---- C*

Répondre à LaZo61

3

Stupeflip, le vendredi 4 mai 2007 à 16:54:52

Argv est bien défini comme un char ** ?
Qui n'a rien n'a rien (Proverbe Norvillois)

Répondre à Stupeflip

4

dubcek, le samedi 5 mai 2007 à 15:49:41

U p t sont dans le getopt, mais u d t dans le switch
l'exit après le break n'est jamais exécuté

exit
}
}

je verrai plutot
}
exit
}


ce code n'imprime rien, il faudrait voir la suite du code

Répondre à dubcek

5

LaZo61, le lundi 7 mai 2007 à 09:21:36
  • +1

Char *username;
char *password;
char *transfer_rate;
extern char *optarg;
int option;


printf("saba\n");
while ((option = getopt (argc, argv, "u:p:t")) != -1)
{
printf("nurcan\n");
switch (option)
{ case 'u':
username = optarg;
break;
case 'd':
password = optarg;
break;
case 't':
transfer_rate = optarg;
break;
}
exit(0);
}

Voila normalement si il rentre dans la boucle il doit m'affiche "nurcan" mais il ne le fait pas donc il ne rentre pas dans la boucle c'est ce que je n'arrive pas a comprendre pourquoi ???

Merci d'avance
C* -----> Either exist as you are or be as you look <---- C*

Répondre à LaZo61

6

dubcek, le lundi 7 mai 2007 à 09:48:31

Que contient argv:

printf("saba\n");

printf("argc=%d\nargv[1]=%s\nargv[2]=%s\n", argc, argv[1], argv[2]);

while ((option = getopt (argc, argv, "u:p:t")) != -1)

ps: argv[0] contient le nom du programme exécuté

Répondre à dubcek

7

LaZo61, le lundi 7 mai 2007 à 09:59:16

Argv[1]=null
argv[2]=/etc/lesskey.bin


et donc? C* -----> Either exist as you are or be as you look <---- C*

Répondre à LaZo61

8

LaZo61, le lundi 7 mai 2007 à 10:21:51

J'ai oublie argc=1

mais bon je ne voie pas toujours pourquoi il ne rentre pas dans la boucle C* -----> Either exist as you are or be as you look <---- C*

Répondre à LaZo61

9

LaZo61, le lundi 7 mai 2007 à 12:08:28

Personne pour repondre ?
plz je ramme depuis tout a lheure
C* -----> Either exist as you are or be as you look <---- C*

Répondre à LaZo61

10

dubcek, le lundi 7 mai 2007 à 13:34:21

Je ne vois aucune options -u arg ou -p arg ou -t arg
imprime argv[3] argv[4]

Répondre à dubcek

11

 LaZo61, le lundi 7 mai 2007 à 14:23:04

G regle le probleme merci C* -----> Either exist as you are or be as you look <---- C*

Répondre à LaZo61
Langage C++ - Les types de données Les types de données Les données manipulées en langage C++, comme en langage C, sont typées, c'est-à-dire que pour chaque donnée que l'on utilise (dans les variables par exemple) il faut préciser le type de donnée, ce qui permet de connaître... www.commentcamarche.net/contents/cpp/cpptype.php3
Langage C - Les types de données Les types de données Les données manipulées en langage C sont typées, c'est-à-dire que pour chaque donnée que l'on utilise (dans les variables par exemple) il faut préciser le type de donnée, ce qui permet de connaître l'occupation mémoire (le... www.commentcamarche.net/contents/c/ctype.php3
Introduction au langage C Petite histoire du C Le langage C a été mis au point par D.Ritchie et B.W.Kernighan au début des années 70. Leur but était de permettre de développer un langage qui permettrait d'obtenir un système d'exploitation de type UNIX portable. D.Ritchie... www.commentcamarche.net/contents/c/cintro.php3
[Langage C] C/C++ Erreur de segmentationQu'est ce qu'une erreur de segmentation Vous êtes en train de développer une application sous Linux en C/C++. Tout va bien, ça compile, les oiseaux chantent. Donc vous lancez votre application pour la tester. Et vous obtenez l'un de ces deux... www.commentcamarche.net/faq/sujet-4791-langage-c-c-c-erreur-de-segmentation
Les files en langage CLes files - Premier Entré Premier Sorti Requis I. INTRODUCTION II. Définition III. La construction du prototype d'un élément de la file IV. Opérations sur les files A. Initialisation B. Insertion d'un élément dans la file C. Oter un... www.commentcamarche.net/faq/sujet-8282-les-files-en-langage-c
Les piles en langage CLes piles Requis I. INTRODUCTION II. Définition III. La construction du prototype d'un élément de la pile IV. Opérations sur les piles A. Initialisation B. Insertion d'un élément dans la pile C. Ôter un élément de la pile D. Affichage... www.commentcamarche.net/faq/sujet-8283-les-piles-en-langage-c
Getchar() langage C (Résolu)Bonjour, je suis nouveau ne langage C et donc j'eprouve quelques difficulte : Je souhaiterai stocker le flux dentre que jentre au clavier pour cela je procede de la maniere suivante : #define BUFSIZE=4096; char buf[BUFSIZE]; printf("Enter your... www.commentcamarche.net/forum/affich-2960608-getchar-langage-c
Petit programme en langage C (Résolu)Bonjour, Etantdonné débutant en langage C, permettez moi S.V.P de vous adresser mon petit probléme que je n'arrive à comprendre la réponse: l'ennoncé de l'exercie: Écrire une fonction qui ne renvoie aucune valeur et qui détermine la valeur maximale et... www.commentcamarche.net/forum/affich-2811312-petit-programme-en-langage-c
Langage C pointeurs, creation de liste. (Résolu)Bonjour a tous. Voila, je rencontre quelaues petits preoblemes en langage C. Le but est de creer des fiches afin de creer une listes les contenant. Il faut ensuite afficher ce que l on a entre dans chaque fiche, puis afficher enfin le nombre de fiches... www.commentcamarche.net/forum/affich-2170245-langage-c-pointeurs-creation-de-liste
Langage C++ - Les pointeursComme en langage C, le langage C++ permet d'utiliser des pointeurs pour manipuler des données, mais il introduit aussi le concept de référence, très pratique pour permettre la modification d'une donnée passée en paramètre d'une fonction. Définition... www.commentcamarche.net/contents/cpp/cpppoint.php3
Langage C - Les chaînes de caractèresQu'est-ce qu'une chaîne de caractères ? Une chaîne de caractères (appelée string en anglais) est une suite de caractères, c'est-à-dire un ensemble de symboles faisant partie du jeu de caractères, défini par le code ASCII. En langage C, une chaîne... www.commentcamarche.net/contents/c/cstring.php3
Langage C - Les variablesLe concept de variable Une variable est un objet repéré par son nom, pouvant contenir des données, qui pourront être modifiées lors de l'exécution du programme. Les variables en langage C sont typées, c'est-à-dire que les données contenues dans... www.commentcamarche.net/contents/c/cvar.php3