Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1146 connectés 

  FORUM HardWare.fr
  Programmation
  C

  [C] passer en argument un nom de fichier

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[C] passer en argument un nom de fichier

n°1201564
juju286
Posté le 17-09-2005 à 15:47:20  profilanswer
 

Bonjour,
j'aimerais lire/écrire et faire d'autres opérations dans un fichier via un programme C. J'aimerais passer ce fichier en argument de la ligne de commande. Comment dois-je m'y prendre? J'espérais qu'il existe une fonction atos (to string)  :pt1cable:  mais non.

mood
Publicité
Posté le 17-09-2005 à 15:47:20  profilanswer
 

n°1201565
Emmanuel D​elahaye
C is a sharp tool
Posté le 17-09-2005 à 16:00:41  profilanswer
 

juju286 a écrit :

j'aimerais lire/écrire et faire d'autres opérations dans un fichier via un programme C. J'aimerais passer ce fichier en argument de la ligne de commande. Comment dois-je m'y prendre?


L'une des formes normalisées de main est()  

int main (int argc, char **argv)


Les arguments de la ligne de commande sont dans argv[1] argv[2] etc. en fonction de la valeur de argc...
En argv[0], il y a soit une chaine vide, soit le nom du programme seul, soit le nom du programme avec le chemin complet.
 
Il est temps d'ouvrir un livre de C, cette notion est basique.


Message édité par Emmanuel Delahaye le 17-09-2005 à 16:03:05

---------------
Des infos sur la programmation et le langage C: http://www.bien-programmer.fr Pas de Wi-Fi à la maison : http://www.cpl-france.org/
n°1201568
juju286
Posté le 17-09-2005 à 16:17:48  profilanswer
 

Je sais ca. Seulement quand j'utilise argv[1] dans cette portion de code
 
FILE *source;  
source = fopen("argv[1]", "r" );
 
il n'y a pas de problème à la compilation, mais une 'segmentation fault' quand j'éxécute
 
./prog.c nom_du_fichier

n°1201569
juju286
Posté le 17-09-2005 à 16:19:10  profilanswer
 

juju286 a écrit :

Je sais ca. Seulement quand j'utilise argv[1] dans cette portion de code
 
FILE *source;  
source = fopen("argv[1]", "r" );
 
il n'y a pas de problème à la compilation, mais une 'segmentation fault' quand j'éxécute
 
./prog.c nom_du_fichier


 
./prog.x nom_du_fichier

n°1201573
Emmanuel D​elahaye
C is a sharp tool
Posté le 17-09-2005 à 16:31:02  profilanswer
 

juju286 a écrit :

Je sais ca. Seulement quand j'utilise argv[1] dans cette portion de code


FILE *source;  
source = fopen("argv[1]", "r" );


Qui t'a dit qu'il fallait mettre des guillemets ?

source = fopen(argv[1]), "r" );


il n'y a pas de problème à la compilation, mais une 'segmentation fault' quand j'éxécute
./prog.c nom_du_fichier


L'exécutable n'est certainement pas "./prog.c". Si tu as rendu un .c exécutable, c'est une anerie.
 
L'exécutable est le fichier produit par l'éditeur de lien.


---------------
Des infos sur la programmation et le langage C: http://www.bien-programmer.fr Pas de Wi-Fi à la maison : http://www.cpl-france.org/
n°1201578
juju286
Posté le 17-09-2005 à 16:33:43  profilanswer
 

Emmanuel Delahaye a écrit :

L'exécutable n'est certainement pas "./prog.c". Si tu as rendu un .c exécutable, c'est une anerie.
 
L'exécutable est le fichier produit par l'éditeur de lien.


 
j'ai essayé au sans les guillements c'est pareil. Pour prog.c c'est une erreur de frappe, j'ai corrgié après dans le post suivant.

n°1201588
Emmanuel D​elahaye
C is a sharp tool
Posté le 17-09-2005 à 17:00:15  profilanswer
 

juju286 a écrit :

j'ai essayé au sans les guillements c'est pareil. Pour prog.c c'est une erreur de frappe, j'ai corrgié après dans le post suivant.


Bon alors on en est où ?
 
Code qui ne fonctionne pas :  
...
 
Ligne de commande :  
...
 
Et copié/collé SVP.


---------------
Des infos sur la programmation et le langage C: http://www.bien-programmer.fr Pas de Wi-Fi à la maison : http://www.cpl-france.org/
n°1201590
juju286
Posté le 17-09-2005 à 17:07:56  profilanswer
 

Emmanuel Delahaye a écrit :

Bon alors on en est où ?
 
Code qui ne fonctionne pas :  
...
 
Ligne de commande :  
...
 
Et copié/collé SVP.


 
on en est que j'ai laissé tomber SANS RIEN TOUCHER. frustré je suis revenu, j'ai éxécuté (SANS RECOMPILER) et là  :heink:  bah ca marche  :sweat:


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C

  [C] passer en argument un nom de fichier

 

Sujets relatifs
recherche de fichier sur ftpLien vers un fichier
Recuperation fichier via HTTPcomment passer d'un Form à l'autre
modifier fichier excel avec VBA ou autrementLancer real player en cliquant sur un liens de fichier real (streaming
Insérer une page word dans une fichier htmlImporter un fichier xml vers une BDD Mysql ?
Comment passer un chiffre a virgule sur une autre page?Balise HREF : download d'un fichier HTML
Plus de sujets relatifs à : [C] passer en argument un nom de fichier


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR