Les arguments de la comande

Résolu
Signaler
Messages postés
11
Date d'inscription
lundi 5 mars 2007
Statut
Membre
Dernière intervention
25 novembre 2012
-
Messages postés
11
Date d'inscription
lundi 5 mars 2007
Statut
Membre
Dernière intervention
25 novembre 2012
-
bonjour a tous ma question concernant les arguments passer à la fontion main le code source:
#include<stdio.h>
#include<stdlib.h>
#include<ctype.h>
int main(int argc,char *argv[])
{
FILE *fichierentree;
FILE *fichiersortie;
char courant;
/*verification du nombre d'argument sur la ligne de commande*/
if((argc<2)||(argc>3)){
printf("Erreur dans le nombre d'argument\n");
exit(EXIT_FAILURE);
/*ouverture de fichier en entree si echec affichage d'un message et arret*/
fichierentree=fopen(argv[1],"r");
if(NULL==fichierentree)
{
printf("Impossible d'ouvrir %s.\n",argv[1]);
exit(EXIT_FAILURE);
}
le probleme est que la fonction ne peut pas detecter les parametre qui sont passer en arguments
toujours afficher IMPOSSIBLE d'OUVIRIR sans afficher le mot contenu dans argv[1]
merci

7 réponses

Messages postés
12303
Date d'inscription
mardi 10 février 2004
Statut
Modérateur
Dernière intervention
30 juillet 2012
42
Bonjour,

Comment lances tu ton executable ?

Ou se trouve le fichier que tu veux lancer ?

Cordialement,

Maxime
Messages postés
354
Date d'inscription
dimanche 3 juin 2001
Statut
Membre
Dernière intervention
11 mars 2013

Salut,

pour moi, ce code (remarque les quelques changements) fonctionne:
#include<stdio.h> 
#include<stdlib.h> 
#include<ctype.h> 
int main(int argc,char *argv[]) 
{ 
FILE *fichierentree; 
FILE *fichiersortie; 
char courant; 
/*verification du nombre d'argument sur la ligne de commande*/ 
if((argc<2)||(argc>3)){ 
printf("Erreur dans le nombre d'argument\n"); 
exit(EXIT_FAILURE); 
}
/*ouverture de fichier en entree si echec affichage d'un message et arret*/ 
fichierentree=fopen(argv[1],"r"); 
if(NULL==fichierentree) 
{ 
printf("Impossible d'ouvrir %s.\n",argv[1]); 
}
return 0;
}


Dans un terminal linux:
$ ./a.out test
Impossible d'ouvrir test.

(le fichier test) n'existe pas et
$ ./a.out test.txt

(text.txt existe par contre)
Messages postés
11
Date d'inscription
lundi 5 mars 2007
Statut
Membre
Dernière intervention
25 novembre 2012

le fichier se trouve sous d:\ j'utilise windows je lance dos puis je tape d:\monfichier.exe le programme affiche Erreur dans le nombre d'argument.je ne sais pas pourquoi ne veut pas affiche ni fichierentree ni fichiersortie
merci
Messages postés
11
Date d'inscription
lundi 5 mars 2007
Statut
Membre
Dernière intervention
25 novembre 2012

jolsoft je ne ecris pas le programme
le code source un peu long je n'oublie pas de metre 0,je sais qu'il est bien codé je ne suis pas debutant mais je ne jamais utiliser les argument de la fonction main
Messages postés
11
Date d'inscription
lundi 5 mars 2007
Statut
Membre
Dernière intervention
25 novembre 2012

S'il vous plais aidez moi
Messages postés
15189
Date d'inscription
lundi 11 juillet 2005
Statut
Modérateur
Dernière intervention
29 novembre 2021
100
Hello,
je lance dos puis je tape d:\monfichier.exe

la réponse est ici: tu ne lui passes pas de paramètres...

d:\monfichier.exe monFichierAOuvrir.txt

@+
Buno, Admin CS
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
Messages postés
11
Date d'inscription
lundi 5 mars 2007
Statut
Membre
Dernière intervention
25 novembre 2012

merci buno exilant c'es ça encore autre fois merci.

On Ne pousse pas au lendemain ce qu'on peut faire le jour même