Lire un fichoier à l’exécution

Résolu
Signaler
Messages postés
105
Date d'inscription
mercredi 25 novembre 2009
Statut
Membre
Dernière intervention
27 janvier 2014
-
Messages postés
105
Date d'inscription
mercredi 25 novembre 2009
Statut
Membre
Dernière intervention
27 janvier 2014
-
Bonjour,

j'ai créer un programme ou je lis un fichier en entré, les données du fichier subissent des traitements et donne un fichier en sortie, bon ça marche maintenant je voudrais que mon programme marche pour tout fichier en entrée c'est à dire que moi la je fais:

scanf("%s",f);//f: chaine de caractère qui prend le nom du fichier, puis
fopen(f,"r");//ouvrir le fichier en lecture

Bon ça marche bien , mais moi comme je fais l’exécution sur linux avec des commande, je voudrais en faite préciser le fichier à lire que lors de la commande d’exécution comme ceci :
./prog image.png //je pense que c'est comme ça que c'est (prog c'est mon exécutable.

Je voudrais savoir que dois je changer dans mon code pour pouvoir faire ça

Merci

4 réponses

Messages postés
105
Date d'inscription
mercredi 25 novembre 2009
Statut
Membre
Dernière intervention
27 janvier 2014
1
en plus
si vous voulez ajouter d'autres paramètres ça sera le argv[2] et ains de suite.

à l’exécution ça donne :
./prog nom_fichier.

Voila ,merci encore
Messages postés
1
Date d'inscription
mardi 9 janvier 2007
Statut
Membre
Dernière intervention
30 octobre 2011

regarde du coté argc/argv : qui permettent de passer des argument a un exécutable lors de son lancement dans une console.
Messages postés
15189
Date d'inscription
lundi 11 juillet 2005
Statut
Modérateur
Dernière intervention
29 novembre 2021
100
Hello,
waknioung a raison: les paramètres supplémentaires sont fournis au main dans le paramètre argv


@+
Buno
----------------------------------------
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
Messages postés
105
Date d'inscription
mercredi 25 novembre 2009
Statut
Membre
Dernière intervention
27 janvier 2014
1
Merci pour votre aide, c'est ça , ça fonctionne.

Pour les prochains qui auront le méme proléme :il faut avoir

dans le main:
int main (int argc, char *argv[])

if(argc>1){
fichier = fopen(argv[1],"r");} //où argv[1] représente le fichier que vous donnerez en argument