J'ai déclaré une variable uint8 et lorsque la valeur y est imprimée, j'obtiens des visages souriants et des espaces blancs. Ne devrait-il pas afficher des valeurs entières?uint8 affiche des caractères étranges
Répondre
Je parie uint8
est un typedef
pour unsigned char
dans vos en-têtes de système. Alors std::cout << u
va imprimer des symboles plutôt que des valeurs entières, où u
est de type uint8
. Essayez
std::cout << static_cast<int>(u);
ou
std::cout << +u;
pour avoir des valeurs numériques imprimées.
mais ne va-t-il pas convertir en int32? – aks
Oui, ce sera le cas. Mais quel est le problème? Cela crée un int temporaire à partir de votre variable uint8 et transmet ce paramètre int à std :: cout pour l'impression. – usta
@Rajesh. Si vous imprimez en décimal, pensez-vous que cela fait une différence si la valeur est stockée dans uint8 ou uint32 juste avant d'être imprimée? –
Tout dépend de la façon dont vous imprimez la valeur. Pour cout, essayez cout << (long unsigned int)var;
, et pour printf
, vous pouvez essayer d'utiliser le spécificateur de format %lu
. Cependant, comme usta mentionné, uint8
est probablement défini ou typedef'd comme quelque chose d'autre, car ce n'est pas un type ISO C++. Il y a aussi la possibilité que uint8
soit typedef'd à unsigned long int
(générique), ou unsigned __int64
(spécifique à la plate-forme MS), et le compilateur MSVC++ fait juste la mauvaise conversion implicite. Sans savoir ce que uint8
est défini comme, il est difficile de dire.
uint8 est utilisé directement ....> typedef uint8 _UINT1; Dans le commentaire, il est dit 1 octet entier (Comment mettre un bloc gris autour du code?) – aks
Eh bien, alors '_UIN1;' est probablement défini comme quelque chose d'autre aussi. Vous devrez suivre le typedef jusqu'à ce que vous atteigniez le type intrinsèque sous-jacent (bien que, '_UINT1' semble impliquer un seul char non signé, pas un nombre de 64 bits). En outre, vous pouvez spécifier du texte en tant que code (c'est-à-dire la "boîte grise") en l'enveloppant dans des caractères de guillemets. – Javert93
typedef uint8 _UINT1; définit _UINT1 comme alias à uint8, et non l'inverse. Donc vous devrez chercher un typedef XXX uint8; déclaration pour savoir ce que uint8 est. Ou vous pouvez juste me croire que c'est un entier non signé de 8 bits, et est un alias pour char non signé :) [u] Les types intN [_t] signifient toujours des entiers N bits, pas des entiers N octets. – usta
- 1. TCPDF affiche des caractères étranges dans IE8
- 2. WriteConsole() caractères étranges?
- 3. PHP JSON_Encode caractères étranges?
- 4. Transfert de fichiers renvoie des caractères étranges
- 5. Ruby CGI.unescapeHTML générant des caractères étranges
- 6. ASP.NET MVC application affichant des caractères étranges
- 7. Erreur de codage de caractères spéciaux étranges
- 8. NSXMLParser flux RSS caractères étranges problème
- 9. php fsockopen() résultats étranges codage de caractères
- 10. Des caractères étranges au début d'un LPTSTR? C++
- 11. Fonction de vidage PHP provoquant des caractères étranges sur l'écran
- 12. UInt8/NSString avec CFWriteStreamWrite
- 13. caractères étranges à la page web
- 14. caractères étranges dans la base de données
- 15. HTML Sortie de XML et caractères étranges
- 16. email.retr récupère étranges = 20 caractères quand le corps du message contient des caractères chinois dans ce
- 17. Console.Write() - affiche les caractères ascii étendus?
- 18. fichier utf-8 affiche doublé caractères
- 19. PHP MySQL caractères étranges de la base de données
- 20. Texte/caractères étranges dans les boîtes de saisie - Aide!
- 21. en supprimant les caractères étranges de chaîne php
- 22. Besoin d'aide pour supprimer les caractères étranges de la chaîne
- 23. ASP.NET MVC: caractères étranges à la page d'erreur
- 24. QString :: fromWCharArray donne charracters étranges
- 25. caractères étranges et encodage en utilisant Twitter API
- 26. caractères étranges dans l'URL lors de l'affichage en PHP
- 27. Caractères étranges sur la sortie HTML ... en PHP
- 28. C# Windows - Se débarrasser des symboles étranges
- 29. Lignes étranges dans Skybox
- 30. Affichage des caractères étranges lors de la création PDF à l'aide TCPDF
postez votre code. – tenfour
J'utilise une bibliothèque d'un fournisseur .. il renvoie un type uint8 – aks
Essayez-vous de l'imprimer en tant que chaîne en utilisant le spécificateur de format '% s'? Essayez d'imprimer les caractères individuels à la place. – dirkgently