Bonjour !
Comment faire pour gérer le fait qu'un utilisateur peut appeler un programme en le faisant suivre d'une * pour qu'il traite tous les fichiers d'un répertoire ?
J'ai essayé en considérant que unix remplacait l'étoile par une suite d'arguments mais ca ne semble pas être le cas .....
# Mais si
Posté par Pascal Terjan (site web personnel) . Évalué à 3.
Le shell remplace * par les fichiers disponibles non cachés, a condition qu'il y en ait, sinon * reste.
[^] # Re: Mais si
Posté par Ph Husson (site web personnel) . Évalué à 2.
Essaye sur zsh:p
# re
Posté par LaBienPensanceMaTuer . Évalué à 1.
Tu n'as pas à gérer ça toi meme
# ah
Posté par David FRANCOIS (site web personnel) . Évalué à 1.
for (i=1; i<argc; ++i) {
printf("%s\n", argv[i]);
}
pour lister les arguments ?
[^] # Re: ah
Posté par Ph Husson (site web personnel) . Évalué à 2.
for(i=0;argv[i];i++)
printf("%s\n", argv[i]);
Enfin bon bref :)
[^] # Re: ah
Posté par salem . Évalué à 1.
[^] # Re: ah
Posté par Ph Husson (site web personnel) . Évalué à 2.
[^] # Re: ah
Posté par Boa Treize (site web personnel) . Évalué à 1.
du code moins lisible et plus difficile à maintenir. À chacun son truc.
[^] # Re: ah
Posté par elloco (site web personnel) . Évalué à 3.
[^] # Re: ah
Posté par Ph Husson (site web personnel) . Évalué à 2.
T'as juste une zone mémoire à aller chercher, au lieu de deux si jamais t'es pas dans le cache.
Enfin ca dépend des cas
Enfin.....
Je ne suis qu'un petit dévelopeur
Enfin bon comme tu le disais c'est impérceptible :)
[^] # Re: ah
Posté par Ph Husson (site web personnel) . Évalué à 2.
Ahum
Chacun son goùt de la lisibilité je vois pas en quoi ca l'est moins:p
Et pis c'est une habitude à prendre pour les tableaux qu'on a pas la longueur de celui ci (meme si ici on l'a certe)
[^] # Re: ah
Posté par elloco (site web personnel) . Évalué à 2.
si je fais
int i;
double *liste = (double)malloc(10 * siezof(double));
for (i = 0; i < 10; i++)
liste[i] = i + 1;
for (i = 0; liste[i]; i++)
printf("%f", liste[i]);
il devrait y avoir une erreur dans le second for. Peut-être que dans argv, le dernier élément est toujours nul, alors là d'accord, mais je trouve mauvais de procéder de la sorte pour tous les tableaux.
[^] # Re: ah
Posté par Ph Husson (site web personnel) . Évalué à 3.
argv se termine par NULL,
Et ca fait partie des habitudes à faire de le faire pour tout amha
(remarque pour un pointeur sur un double j'accorde que ca va être dur....)
Enfin bon toute chaine de caractères se termine par \0, donc de meme tout tableau de pointeurs doit se terminer par un null, ca permet d'avoir des tableaux à taille variable sans avoir à gérer de variable de taille (c'est deja assez le bordel dans les 'gros' progs comme ca :p)
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.