arguments dans ma fonction main
Bonjour, je suis en train de faire un programme qui résoud une équation différentielle. Toutes les conditions initiales se trouvent dans un fichier input.txt et ma fonction main lit ce fichier. Jusque là tout se passe bien. Sauf que maintenant je veux donner le choix à l'utilisateur d'appeler le nom de son fichier comme il le veut et non plus input.txt. Je voudrais aussi que le nom par défaut soit input.txt. J'ai donc essayé de donner un argument à ma fonction main mais j'ai qq soucis. Voici un extrait de mon code :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
|
int main(int argc, char * argv[])
{
blabla
if(argc==1)
char * inputfile=strdup("input.txt"); /* le nom par defaut */
else
char * inputfile=strdup(argv[1]);
Read(inputfile,&a,&b,&c);
free(inputfile);
blabla
return 0;
} |
Et là j'ai une erreur qui est
Citation:
main.c:139: error: erreur de syntaxe before "char"
main.c:138: attention : empty body in an if-statement
main.c:140: error: erreur de syntaxe before "else"
main.c:141: error: `__len' undeclared (first use in this function)
main.c:141: error: (Each undeclared identifier is reported only once
main.c:141: error: for each function it appears in.)
Savez-vous pourquoi ?
Merci.
Re: arguments dans ma fonction main
Citation:
Envoyé par salseropom
Voici mon code
C'est une façon inutilement complexe d'écrire :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
|
int main (int argc, char * argv[])
{
/* le nom par defaut */
char * inputfile = "input.txt";
if (argc==2)
{
inputfile=argv[1];
}
Read (inputfile, &a, &b, &c);
return 0;
} |
C'était quoi déjà la question ?