Les arguments de la comande

Résolu
boujerra Messages postés 11 Date d'inscription lundi 5 mars 2007 Statut Membre Dernière intervention 25 novembre 2012 - 5 déc. 2011 à 23:52
boujerra Messages postés 11 Date d'inscription lundi 5 mars 2007 Statut Membre Dernière intervention 25 novembre 2012 - 19 nov. 2012 à 00:22
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

coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 43
6 déc. 2011 à 10:01
Bonjour,

Comment lances tu ton executable ?

Ou se trouve le fichier que tu veux lancer ?

Cordialement,

Maxime
3
JulSoft Messages postés 354 Date d'inscription dimanche 3 juin 2001 Statut Membre Dernière intervention 11 mars 2013
6 déc. 2011 à 10:11
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)
3
boujerra Messages postés 11 Date d'inscription lundi 5 mars 2007 Statut Membre Dernière intervention 25 novembre 2012
6 déc. 2011 à 19:36
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
0
boujerra Messages postés 11 Date d'inscription lundi 5 mars 2007 Statut Membre Dernière intervention 25 novembre 2012
6 déc. 2011 à 19:47
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
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
boujerra Messages postés 11 Date d'inscription lundi 5 mars 2007 Statut Membre Dernière intervention 25 novembre 2012
9 déc. 2011 à 00:34
S'il vous plais aidez moi
0
BunoCS Messages postés 15330 Date d'inscription lundi 11 juillet 2005 Statut Modérateur Dernière intervention 25 novembre 2022 103
9 déc. 2011 à 08:56
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...
0
boujerra Messages postés 11 Date d'inscription lundi 5 mars 2007 Statut Membre Dernière intervention 25 novembre 2012
19 nov. 2012 à 00:22
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
0