comment attribuer un nombre à un int ... [résolu] [C] - C++ - Programmation
Marsh Posté le 08-11-2002 à 14:40:20
ben tu embarques l'interpreteur perl dans ton programme en C
[jesors]
Marsh Posté le 08-11-2002 à 14:44:22
lorill a écrit a écrit : ben tu embarques l'interpreteur perl dans ton programme en C [jesors] |
A la base, mon prog est censé s'écrire en Perl mais, comme il est destiné à la fois à des users Linux et Windows, le source ne suffira pas. De plus, je ne crois pas que, légalement, je puisse proposer aux users Windows un exe créé via Perl2Exe si je n'ai pas la license de Perl2Exe.
Du coup, je fais en C mais c'est là que mes RegExp me font cruellement défaut
Marsh Posté le 08-11-2002 à 14:48:29
ah, mais donc en fait ma connerie n'est pas si conne !
je connais pas Perl2Exe, c'est pas libre ? dommage...
sinon je connais pas vraiment perl, mais la plupart des interpreteurs peuvent etre integré a un programme C et utilisés dans le programme.
a la limite rien t'empeche de faire des scripts perls qui vont etre executés par ton programme C.
Marsh Posté le 08-11-2002 à 14:49:34
tu peux peut etre trouvé des trucs pour utiliser les expressions régulières en C...
http://www.linuxgazette.com/issue55/tindale.html
Marsh Posté le 08-11-2002 à 14:52:18
Embed Perl in your projects
cela dit, ca n'est pas la meilleure solution pour recuperer le 12 au milieu de la chaine, mais vu que t'es un perl addict, ca peut toujours servir.
Marsh Posté le 08-11-2002 à 14:52:27
lorill a écrit a écrit : ah, mais donc en fait ma connerie n'est pas si conne ! je connais pas Perl2Exe, c'est pas libre ? dommage... |
Perl2Exe est un shareware, j'ai une version d'évaluation qui génère un Exe mais y a un message en fin de programme qui s'affiche dans la fenêtre Dos, comme quoi le prog a été généré par une version d'éval et qu'il ne doit en aucun cas être distribué.
Autre pb avec Perl2Exe, l'exe constitué fait facilement 1 Mo en taille car il intègre certaines dll de la distribution Perl + les librairies dont mon prog aurait besoin, donc pas good.
lorill a écrit a écrit : a la limite rien t'empeche de faire des scripts perls qui vont etre executés par ton programme C. |
Oui mais faut que les gens aient Perl, ce dont je dois éviter. Télécharger Perl = download d'environ 30 Mo, la majorité des users est en RTC ...
Marsh Posté le 08-11-2002 à 15:06:04
tu peux programmer un parser assez simple ... pour chacune de tes lignes tu parcoures les caracteres, si tu rencontres un chiffre , tu stokes dans un buffer temporaire ce chiffre et tout ceux directement apres et ensuite su fait un atoi de ton buffer temporaire pour obtenir un int
Marsh Posté le 08-11-2002 à 15:17:15
xilebo a écrit a écrit : tu peux programmer un parser assez simple ... pour chacune de tes lignes tu parcoures les caracteres, si tu rencontres un chiffre , tu stokes dans un buffer temporaire ce chiffre et tout ceux directement apres et ensuite su fait un atoi de ton buffer temporaire pour obtenir un int |
Ah ok, j'ignorais qu'avec un atoi(), je pouvais récupérer la string en int, merci !
je venais de trouver une solution de brute :
soit tablo un tableau de char ne contenant QUE mon exemple, donc 12 et que toto soit mon int récupérant le nombre à la fin :
Code :
|
Marsh Posté le 08-11-2002 à 15:19:02
Aricoh a écrit a écrit : Ah ok, j'ignorais qu'avec un atoi(), je pouvais récupérer la string en int, merci ! je venais de trouver une solution de brute : soit tablo un tableau de char ne contenant QUE mon exemple, donc '1','2','\0' et que toto soit mon int récupérant le nombre à la fin :
|
Edit : z'avions oublié que le '\0' compte comme élément dans un tableau (me trompe-je ?)
Marsh Posté le 08-11-2002 à 15:23:18
Aricoh a écrit a écrit : Ah ok, j'ignorais qu'avec un atoi(), je pouvais récupérer la string en int, merci ! je venais de trouver une solution de brute : soit tablo un tableau de char ne contenant QUE mon exemple, donc 12 et que toto soit mon int récupérant le nombre à la fin :
|
bah regarde le code d atoi , en gros c est ce qu il fait ..
Marsh Posté le 08-11-2002 à 15:31:32
xilebo a écrit a écrit : bah regarde le code d atoi , en gros c est ce qu il fait .. |
ok ça roule, je suis sauvé, ouf !
Marsh Posté le 08-11-2002 à 14:34:57
... lorsque le-dit int provient d'un tableau de char ???
J'explique.
J'ai un fichier à analyser, lequel contient n lignes, chaque ligne contenant des caractères alphanumériques
Comme solution à 1ère vue, soit je scanne chaque ligne, caractère par caractère, soit je charge toutes les lignes dans un tableau de char à 2 dimensions mais j'suis pas un pro du C (z'aviez deviné, hein), si j'ai cette ligne là :
comment puis-je récupérer le 12 qui est noyé en plein milieu pour l'affecter à un short int ???
désolé si la question paraît conne, je viens du Perl et en Perl, je sais faire, PAS en C
Message édité par Aricoh le 08-11-2002 à 15:33:16
---------------
Samsung Galaxy S1 -> Samsung Galaxy S2 -> Samsung Note 2 -> Huawei Ascend Mate 7 -> ZTE Axon 7 -> OnePlus 6T -> Oppo Find X2 PRO -> Google Pixel 9 PRO XL