bonjour,
voila, je voudrais savoir comment faire pour comparer une variable avec un type.
ex:
if (var!="type")
Merci
bonjour,
voila, je voudrais savoir comment faire pour comparer une variable avec un type.
ex:
if (var!="type")
Merci
il existe peut etre une fonction pour connaitre la place qu'occupe une variable en mémoire.
si tu connait la place prise par tous les types char int long ... tu n'a alors plus qu'a comparer. mais je ne suis pas sur qu'une telle fonction existe lol
mais le problèmes est que différents types de variables ont la même taille, d'autant plus que certains types n'ont pas la même taille selon l'architecture. Donc ça ne résoud pas le problème.
Code : Sélectionner tout - Visualiser dans une fenêtre à part sizeof(variable)
Il y a déjà eu un forum la dessus. Faut que je retrouve…
Tu peux connaitre la taille des types de données avec la fonction sizeof() existante dans la bibiothèque standard :
Exemple :
printf("%d",sizeof(char));
Te donne la taille d'UN char en octect.
Expliques nous plutôt pourquoi tu veux faire ça.Envoyé par mask91
J'ai beau cherché, je ne vois pas l'utilité de la chose.
Peut être que je vais apprendre quelque chose.
En faite c'est plus pour verifier si la saisie est différente du type attendue.
C'est sur les paramètres saisie en ligne de commandes à l'appel du prog.
Par exemple, si on demande a quelqu'un de saisir un mot, on verifi qu'il n'a pas entrer un nombre.
Ou encore pour verifier qu'il a bien entrer les paramètres dans l'ordre,
on attend un mot puis un chiffre.
Je pense que l'on peut faire ça avec le code ASCII mais je voulais savoir si y avait pas plus simple.
Tu devrais commencer par regarder ces liens : http://emmanuel-delahaye.developpez....tes.htm#saisie et http://xrenault.developpez.com/tutoriels/c/scanf/.
Je pense qu'en passant par une bonne utilisation de scanf et strto*, tu peux arriver à faire ce que tu cherches.
Ca n'existe pas. A quoi ça pourrait bien servir ? Une variable a un type et il est forcément connu. Si c'est un problème de programmation générique à coup de void*, l'usage est de passer la taille de l'objet en paramètre (voir qsort(), par exemple).Envoyé par mask91
sizeof n'est pas une fonction mais un opérateur intégré au langage. Rien à voir avec la bibliothèque standard.Envoyé par bibilolo2
L'opérateur sizeof retourne une valeur de type size_t. "%d" n'est pas le bon formateur pour un size_t.Exemple :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 printf("%d",sizeof(char));
Il faut
- soit "%" avec (unsigned),
- soit "%lu" avec (unsigned long)
- soit [C99] "%zu" directement.
sizeof (char) vaut 1 par définition, car char est l'unité de compte de la taille d'un objet. Comme toute unité, elle vaut 1.Te donne la taille d'UN char en octect.
Petit post, mais beaucoup de bêtises...
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager