passer en argument un nom de fichier [C] - C - Programmation
Marsh Posté le 17-09-2005 à 16:00:41
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.
Marsh Posté le 17-09-2005 à 16:17:48
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
Marsh Posté le 17-09-2005 à 16:19:10
juju286 a écrit : Je sais ca. Seulement quand j'utilise argv[1] dans cette portion de code |
./prog.x nom_du_fichier
Marsh Posté le 17-09-2005 à 16:31:02
juju286 a écrit : Je sais ca. Seulement quand j'utilise argv[1] dans cette portion de code
|
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.
Marsh Posté le 17-09-2005 à 16:33:43
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. |
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.
Marsh Posté le 17-09-2005 à 17:00:15
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.
Marsh Posté le 17-09-2005 à 17:07:56
Emmanuel Delahaye a écrit : Bon alors on en est où ? |
on en est que j'ai laissé tomber SANS RIEN TOUCHER. frustré je suis revenu, j'ai éxécuté (SANS RECOMPILER) et là bah ca marche
Marsh Posté le 17-09-2005 à 15:47:20
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) mais non.