Arnaud16022
Messages postés1329Date d'inscriptionvendredi 15 août 2003StatutMembreDernière intervention16 juin 2010
-
29 sept. 2004 à 09:01
Arnaud16022
Messages postés1329Date d'inscriptionvendredi 15 août 2003StatutMembreDernière intervention16 juin 2010
-
29 sept. 2004 à 21:33
hello
je voudrais faire un petit langage de script pour mon jeu (les missions) mais il se pose un probleme:
exemple:
if (c==123){....}
if (c==d){.....}
dans les deux cas, la syntaxe est différente, donc comment faire pour lire quelque chose dans un fichier sans en connaitre le type?
je veux dire , on ne sait à priori pas si apres le if(c== il y a un nombre ou une lettre...donc comment fait-on?
Merci bcp
ps: et je suis ouvert a toute suggestion de site expliquant un peu comment faire un petit langage de script...c'est juste un petit truc personnalisé, pas du javascript ....
leprov
Messages postés1160Date d'inscriptionvendredi 23 juillet 2004StatutMembreDernière intervention21 octobre 201017 29 sept. 2004 à 10:37
tu scanne un caractere, s'il est numerique tu le stock ds un stringstream et tu rescanne, s'il est alphabetique, pas de pb, sinon, erreur de sytaxe.
au final tous tes numeriques sont injectés a la suite dans ton stringstream, tu extrait le nombre qui a été convertit:
stringstream Str;
char c;
ifstream is;
for (is >> c; isalnum (c); is >> c)
{
if (isalpha (c)) break;
Str << c;
}
int i;
Str >> i;
c'est fait vite fait a l'arrache, y'a peut-etre des erreurs, mais l'algo doit pas etre loin
leprov
Messages postés1160Date d'inscriptionvendredi 23 juillet 2004StatutMembreDernière intervention21 octobre 201017 29 sept. 2004 à 20:18
un stringstream c'est une classe du standard c++ (du namespace std je crois), il faut inclure sstream.h.
c'est une classe dérivée a la fois de string et de stream. ca a donc les propriétés d'une string et d'un flux. tu peux l'utiliser comme une string, ou comme un cin ou cout selon la facon dont tu l'as déclarée. va voir sur sgi pour plus d'infos...