Lire un fichoier à l’exécution

Résolu
nassim1987 Messages postés 105 Date d'inscription mercredi 25 novembre 2009 Statut Membre Dernière intervention 27 janvier 2014 - 29 oct. 2011 à 22:15
nassim1987 Messages postés 105 Date d'inscription mercredi 25 novembre 2009 Statut Membre Dernière intervention 27 janvier 2014 - 30 oct. 2011 à 21:24
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

nassim1987 Messages postés 105 Date d'inscription mercredi 25 novembre 2009 Statut Membre Dernière intervention 27 janvier 2014 1
30 oct. 2011 à 21:24
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
3
waknioung Messages postés 1 Date d'inscription mardi 9 janvier 2007 Statut Membre Dernière intervention 30 octobre 2011
30 oct. 2011 à 01:37
regarde du coté argc/argv : qui permettent de passer des argument a un exécutable lors de son lancement dans une console.
0
BunoCS Messages postés 15330 Date d'inscription lundi 11 juillet 2005 Statut Modérateur Dernière intervention 25 novembre 2022 103
30 oct. 2011 à 08:28
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...
0
nassim1987 Messages postés 105 Date d'inscription mercredi 25 novembre 2009 Statut Membre Dernière intervention 27 janvier 2014 1
30 oct. 2011 à 21:22
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
0