Afficher la valeur d'une variable - C - Programmation
Marsh Posté le 04-01-2005 à 14:13:07
non, c'est pas faisable.
scanf("%s", &sNom); est dangereux et erroné
-> fgets(sNom, sizeof sNom, stdin);
Marsh Posté le 04-01-2005 à 14:18:28
Taz a écrit : non, c'est pas faisable. |
oui, je me souviens maintenant, quand on compile sous Linux, le compilo avertit que scanf, c'est aps terrible et recommande fget...
Sinon, comme méthode, une table de correspondance avec les adresses des variables ça pourrait le faire, genre :
"a1" &a1
"a2" &a2
"a3" &a3
les débuggeurs le font bien ce genre de chose. Ils font comment? Merci de ton aide Taz.
Marsh Posté le 04-01-2005 à 14:22:30
et ben il charge la table de toutes les variables, etc. Mais ça a très peu d'intérêt dans un programme : tu ne voudrais pas que l'utilisateur écrase n'importe quelle variable au petit bonheur la chance.
Marsh Posté le 04-01-2005 à 14:29:01
Taz a écrit : et ben il charge la table de toutes les variables, etc. Mais ça a très peu d'intérêt dans un programme : tu ne voudrais pas que l'utilisateur écrase n'importe quelle variable au petit bonheur la chance. |
c'est dans un contexte assez particulier, pas le genre de prgm qu'on file au premier venu. Comment on fait pour charger la table des variables?
Marsh Posté le 04-01-2005 à 14:32:28
rufo a écrit : c'est dans un contexte assez particulier, pas le genre de prgm qu'on file au premier venu. Comment on fait pour charger la table des variables? |
C'est compliqué, et bien au delà de l'usage que tu en ferais...
Le plus simple, comme tu l'as dit, c'est de garder une table qui associe le nom de la variable avec son adresse (et éventuellement son type).
Marsh Posté le 04-01-2005 à 14:33:52
ok merci de votre aide à tous les 2. Si par hasard qq'un d'autre avait une idée...
Marsh Posté le 04-01-2005 à 14:35:13
mais non bordel ! le plus simple c'est qu'il apprenne a faire un tableau !
Marsh Posté le 04-01-2005 à 14:56:23
et pour être complet:
http://cvs.gnome.org/viewcvs/gdb-g [...] iew=markup
Marsh Posté le 04-01-2005 à 14:11:03
Voilà, j'ai des variables du genre :
je voudrais pouvoir afficher le contenu de l'une de ces variables en fonction de leur nom, ce nom étant saisi par l'utilisateur avec :
ex : je saisis "a2" lors du scanf et via un printf("%d", ...); j'affiche la valeur de a2, c'est-à-dire 3.
C'est faisable simplement ça? Parce que de mémoire, je ne crois pas. En fait, ça reprend le même principe que #nomVar dans le language des TI-92, où nomVar contient le nom d'une variable...
Merci de m'aider