Problèmes arguments de la fonction main
Résolu/Fermé
susano17
Messages postés
9
Date d'inscription
dimanche 20 mars 2016
Statut
Membre
Dernière intervention
20 mars 2016
-
Modifié par NHenry le 20/03/2016 à 12:31
susano17 Messages postés 9 Date d'inscription dimanche 20 mars 2016 Statut Membre Dernière intervention 20 mars 2016 - 20 mars 2016 à 18:19
susano17 Messages postés 9 Date d'inscription dimanche 20 mars 2016 Statut Membre Dernière intervention 20 mars 2016 - 20 mars 2016 à 18:19
A voir également:
- Problèmes arguments de la fonction main
- Fonction si et - Guide
- Bagage à main - Guide
- Scan ligne de la main gratuit - Télécharger - Photo & Graphisme
- Fonction moyenne excel - Guide
- Vous avez entré un nombre trop important d'arguments pour cette fonction ✓ - Forum Excel
2 réponses
Utilisateur anonyme
20 mars 2016 à 13:15
20 mars 2016 à 13:15
argv[1]=="-verbose")
non
argv[1] != "-verbose"
et non
Tu dois utiliser strcmp : http://manpagesfr.free.fr/man/man3/strcmp.3.html
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 842
20 mars 2016 à 14:06
20 mars 2016 à 14:06
Bonjour,
char str[MAXchar];
Attention, ce n'est possible qu'en C99.
printf("\n%s",argv[1]);
Il vaudrait mieux vérifier le nombre d'arguments (argc) avant de faire appel à argv.
if((argc >=2) && (argv[1]=="-verbose"))/* c'est ici qu'est le problème*/
La comparaison de chaîne ne se fait pas comme ça. Utilise plutôt strcmp().
while (!feof(fd))
Attention à son utilisation. Cela détermine la cause de l'erreur de lecture du fichier. Il faut donc lire le fichier avant, et s'il y a eu une erreur, là tu peux utiliser feof(...).
Et enfin, il manque un return 0; en fin de fonction.
Cdlt,
char str[MAXchar];
Attention, ce n'est possible qu'en C99.
printf("\n%s",argv[1]);
Il vaudrait mieux vérifier le nombre d'arguments (argc) avant de faire appel à argv.
if((argc >=2) && (argv[1]=="-verbose"))/* c'est ici qu'est le problème*/
La comparaison de chaîne ne se fait pas comme ça. Utilise plutôt strcmp().
while (!feof(fd))
Attention à son utilisation. Cela détermine la cause de l'erreur de lecture du fichier. Il faut donc lire le fichier avant, et s'il y a eu une erreur, là tu peux utiliser feof(...).
Et enfin, il manque un return 0; en fin de fonction.
Cdlt,
susano17
Messages postés
9
Date d'inscription
dimanche 20 mars 2016
Statut
Membre
Dernière intervention
20 mars 2016
20 mars 2016 à 14:25
20 mars 2016 à 14:25
Bonjour et merci
pour le return 0 ; je ne l'ai pas utilisé mais mon programme fonctionne parfaitement avec strcmp est-ce qu'il vaut mieu que je mette un return 0;
si ou ou dois-je le mettre
pour le return 0 ; je ne l'ai pas utilisé mais mon programme fonctionne parfaitement avec strcmp est-ce qu'il vaut mieu que je mette un return 0;
si ou ou dois-je le mettre
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 842
20 mars 2016 à 14:31
20 mars 2016 à 14:31
Ce n'est pas parce que ça fonctionne correctement que c'est correct :-).
Le return 0; se place en fin de fonction. Juste avant l'accolade finale.
N'oublie pas de revoir aussi le feof().
Le return 0; se place en fin de fonction. Juste avant l'accolade finale.
N'oublie pas de revoir aussi le feof().
susano17
Messages postés
9
Date d'inscription
dimanche 20 mars 2016
Statut
Membre
Dernière intervention
20 mars 2016
20 mars 2016 à 14:55
20 mars 2016 à 14:55
pour feof justement je vérifie à ce moment là qu'il n'y a pas 'erreur
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 842
>
susano17
Messages postés
9
Date d'inscription
dimanche 20 mars 2016
Statut
Membre
Dernière intervention
20 mars 2016
20 mars 2016 à 15:51
20 mars 2016 à 15:51
Ben non. Tu utilises feof() avant de lire le contenu du fichier...
susano17
Messages postés
9
Date d'inscription
dimanche 20 mars 2016
Statut
Membre
Dernière intervention
20 mars 2016
20 mars 2016 à 16:00
20 mars 2016 à 16:00
ah donc il faudrait que je mettes mon fgets avant les conditions (if) et a la fin des while si je comprend bien ?
20 mars 2016 à 13:20
si l'utilisateur entre l'argument "-verbose",
je ne comprend donc pas pourquoi vous me conseillez d'utiliser la condition indiquant une différence
Cordialement
20 mars 2016 à 13:21
20 mars 2016 à 13:37
mon programme fonctionne maintenant parfaitement !
20 mars 2016 à 15:32
20 mars 2016 à 15:59