-
formatage de données
Bonjour,
Je voudrai faire une énumeration de port pour de la communication réseaux, cependant les énumération sont au format int, n'y a il pas une façon de les forcer en long ou autre format??
sinon y a il une maniére de faire cela autrement, merci
-
Salut,
En réalité, les valeurs énumérées sont des valeurs numériques, dont le type est au minimum assez grand pour représenter la valeur maximale, et, au minimum de type int.
En outre, on se rend régulièrement compte que la taille d'un long est identique à celle d'un int, du moins, dés que l'on compile en mode 32 bits minimum (à l'époque où le 16 bits était encore la norme, ce n'était pas forcément le cas :D)
Cela signifie que, si ton compilateur supporte le type long long, et que la valeur énumérée la plus élevée représente une valeur de type long long, toutes les valeurs de l'énumération seront de type... long long...
Mais cela signifie, effectivement, qu'il n'y a pas moyen de créer d'énumérations portant, par exemple, sur des chaines de caractères.
De plus, bien que l'on parle volontiers "d'énumération des ports com", ce n'est pas ce que tu cherche en réalité à faire...
Ce que tu cherche à faire, c'est de créer une liste des ports, et d'être en mesure d'y accéder au départ d'un identifiant sous la forme d'une chaine de caractères telle que "COM1".
L'une des solutions envisageables serait donc de gérer les différents ports existants à l'intérieur d'une std::map, dont la clé serait une chaine de caractères, et don la valeur serait... l'adresse à laquelle il nous est possible d'accéder au port en question ;)