Pb avec argv : argv[1] vide

oz80 Messages postés 4 Date d'inscription mercredi 16 novembre 2005 Statut Membre Dernière intervention 2 décembre 2007 - 16 nov. 2005 à 11:44
deck_bsd Messages postés 1243 Date d'inscription jeudi 31 mars 2005 Statut Membre Dernière intervention 3 août 2016 - 16 nov. 2005 à 19:18
Bonjour à tous,

j'ai le code suivant :


Code:
,
----

int main(int argc, char* argv[])
{
FILE *yyout2;
const char* DocName;

/* Ouverture du fichier HTML */if((yyout2 fopen(argv[1], "r")) NULL){
cout << "fichier HTML non ouvert" << endl;
}

/* Appel de la fonction automate */
DocName = automate(yyout2);

rename(argv[1], DocName);

return 0;
}

Cependant, il m'affiche toujours "ficher HTML non ouvert", puisque dans argv[1] il n'y a rien (j'ai testé, d'ailleurs argc=1).

Comment se fait-il qu'il n'y ait rien dans argv[1] ? Comment puis-je résoudre ce problème ?

Merci d'avance
A voir également:

4 réponses

BunoCS Messages postés 15472 Date d'inscription lundi 11 juillet 2005 Statut Modérateur Dernière intervention 25 mars 2024 103
16 nov. 2005 à 11:49
argv contient les arguments passés au programme lors d'une exécution en ligne de commande (argv[0] = nom de l'executable). si tu ne tape pas: truc.exe fichier.html tu ne pourras pas continuer...

Buno
----------------------------------------
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
0
juki_webmaster Messages postés 947 Date d'inscription mercredi 19 novembre 2003 Statut Membre Dernière intervention 5 avril 2008 3
16 nov. 2005 à 12:35
int main(int argc, char* argv[])

C'est plutot comme ceci qu'il faut s'habituer a le faire:

int main(int argc, char *argv[])
0
BunoCS Messages postés 15472 Date d'inscription lundi 11 juillet 2005 Statut Modérateur Dernière intervention 25 mars 2024 103
16 nov. 2005 à 13:55
Aucun rapport avec la choucroute même si je suis d'accord :)
Pour en revenir au problème, si tu es sous Visual, tu peux indiquer les arguments du programme dans Project>Settings>Debug>Program Arguments

Buno
----------------------------------------
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
0
deck_bsd Messages postés 1243 Date d'inscription jeudi 31 mars 2005 Statut Membre Dernière intervention 3 août 2016 2
16 nov. 2005 à 19:18
Rapelle



main(int argc,char **argv)



argc = contient le nombre d'argument passés

argv[0] = contient nom et/ou chemin de l'éxécutable (cela dépend)

argv[1]

argv[2]

... = contient les arguments ajoutés



Bon code



++aLL
0
Rejoignez-nous