1

yop,

Quand on fait un programme en ligne de commande, et qu'on le veut portable (principalement nux et win, quoi), comment on fait pour gérer les wildcards ?

En fait, l'expansion de nux me convient très bien.
Par contre, pour Windows, on se tape tout le travail à la main, comment font les programmes ? Il y a une lib pour ça ?

2

Il y a des APIs pour obtenir les fichiers correspondant à un wildcard, par exemple : https://msdn.microsoft.com/en-us/library/windows/desktop/aa364418%28v=vs.85%29.aspx

Ça ne m'étonnerait pas qu'il existe aussi des libs open-source déjà faites pour ça.
avatar
Zeroblog

« Tout homme porte sur l'épaule gauche un singe et, sur l'épaule droite, un perroquet. » — Jean Cocteau
« Moi je cherche plus de logique non plus. C'est surement pour cela que j'apprécie les Ataris, ils sont aussi logiques que moi ! » — GT Turbo

3

Evidemment, ce n'est pas portable, mais ça a le mérite d'exister. smile
Donc le problème peut se résoudre avec de la compilation conditionnelle, ou une lib comme tu dis.
Merci beaucoup. smile

4

Tu veux vraiment gérer l'expansion dans ton programme, quand ça n'est pas fourni par le shell ? Certes c'est un peu la solution de facilité, mais * & co sont des fonctionnalités proposées par le shell, et perso je ne m'attends pas à les avoir quand je suis sous Windows (ou alors si c'est ça que je veux, j'utilise un shell sous Windows par exemple Cygwin ou bien un portage natif).

En fait ça me semble même presque dangereux que le programme prenne la décision, parce qu'il tourne sous Windows, de faire une expansion. Si j'exécute le programme via Cygwin et que je fais ./programme '*' alors c'est que je veux lui passer en argument le caractère *, et je ne veux surtout pas qu'il tente de le transformer en pensant que c'est la bonne chose à faire.
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

5

Ça dépend du genre de programme, je dirais.

Si c'est un programme pour lequel il est habituel de traiter plusieurs fichiers d'un coup (exemple : un utilitaire de conversion de format), pour moi c'est souhaitable de gérer les wildcards ; et en tant qu'utilisateur Windows, j'irais pas installer Cygwin juste pour ça.

Quant à ton exemple de '*', vu que sous Windows les caractères de wildcard ne sont pas valides dans les noms de fichiers, ça me semble normal qu'ils soient toujours interprétés comme des wildcards (ou rejetés si le programme ne gère pas l'expansion). En fait ça ne pose problème que si le programme accepte indifféremment des noms de fichiers et autre chose comme argument.
avatar
Zeroblog

« Tout homme porte sur l'épaule gauche un singe et, sur l'épaule droite, un perroquet. » — Jean Cocteau
« Moi je cherche plus de logique non plus. C'est surement pour cela que j'apprécie les Ataris, ils sont aussi logiques que moi ! » — GT Turbo

6

./5: Installe mobaxterm ( http://mobaxterm.mobatek.net/ ) . C'est bien plus rapide à installer que cygwin (et peut être utilisé sans install).

7

Merci bien pour le lien. smile

8

sick C'est du crippleware:
Max. 12 sessions
Max. 2 SSH tunnels
Max. 4 macrosMax. 360 seconds for Tftp, Nfs and Cron
(et une version payante illimitée), et en gros ils revendent le travail d'autrui.
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

9

Kevin Kofler (./8) :
sick C'est du crippleware:
Max. 12 sessions
Max. 2 SSH tunnels
Max. 4 macrosMax. 360 seconds for Tftp, Nfs and Cron
(et une version payante illimitée), et en gros ils revendent le travail d'autrui.

Et RHEL c'est pas un peu payant?
avatar
Proud to be CAKE©®™


GCC4TI importe qui a problème en Autriche, pour l'UE plus et une encore de correspours nucléaire, ce n'est pas ytre d'instérier. L'état très même contraire, toujours reconstruire un pouvoir une choyer d'aucrée de compris le plus mite de genre, ce n'est pas moins)
Stalin est l'élection de la langie.

10

Mais CentOS n'est pas un crippleware de ce style.
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité