J'aimerais imprimer ce qui se cache derrière un & myVariable. J'ai essayé NSLog (& myIntVar); mais ça ne marchera pas.Comment imprimer l'adresse mémoire d'une variable?
Répondre
L'argument de NSLog doit être un NSString, si vous voulez
NSLog(@"%p", &myIntVar);
Essayez:
NSLog(@"%p", &myIntVar);
ou
NSLog(@"%lx", (long)&myIntVar);
La première version utilise l'impression spécifique pointeur format, qui suppose que le paramètre passé est un pointeur, mais le traite en interne comme un long.
La deuxième version prend l'adresse, puis jette à un entier long. Cela est nécessaire pour la portabilité sur les plates-formes 64 bits, car sans le qualificatif de format "l
", cela supposerait que la valeur fournie est un entier, généralement de 32 bits seulement.
Je recommanderais contre la deuxième version, vous ne gagnez rien. % p fonctionne déjà comme prévu sur les plates-formes 32 ou 64 bits. –
d'Apple mentionne spécifiquement eux-mêmes la dernière méthode: http://developer.apple.com/documentation/Cocoa/Conceptual/Strings/Articles/formatSpecifiers.html#//apple_ref/doc/uid/TP40004265-SW1 – Alnitak
NSLog (@ "% x", & myIntVar); % X est longtemps int ou vous pouvez imprimer comme NSLog (@ "% p", & myIntVar); % P est pour pointeur
- 1. Comment pouvez-vous imprimer une variable Ada.Calendar.Time dans Ada?
- 2. Comment imprimer une variable Javascript dans une table?
- 3. Comment la mémoire est-elle allouée à une variable statique?
- 4. Comment imprimer WPF multipage?
- 5. Comment imprimer un chèque?
- 6. Comment imprimer dataGridview
- 7. Comment imprimer une variable UChar * var en tant que chaîne depuis l'intérieur de gdb?
- 8. Comment puis-je imprimer sur une variable au lieu d'un fichier, en Perl?
- 9. Comment imprimer WPF Grid paginé?
- 10. C# Comment imprimer plusieurs images
- 11. Comment puis-je utiliser une variable variable en PHP?
- 12. Imprimer datatable
- 13. Comment stocker des données dans des baies de longueur variable sans provoquer de corruption de mémoire?
- 14. Comment libérer la mémoire qui a été utilisée pour une variable en C?
- 15. Comment imprimer un datetime Python dans le fuseau horaire local?
- 16. Imprimer Multipage dans WPF
- 17. Imprimer certains onglets
- 18. Comment imprimer un tableau dans un fichier .txt dans Matlab?
- 19. asp.net mvc: Comment imprimer les images?
- 20. comment imprimer les fichiers tiff automatiquement
- 21. Comment imprimer un élément de tableau associatif?
- 22. Comment "imprimer" sur un papier en PHP?
- 23. Comment imprimer une carte dans Scala
- 24. Comment imprimer plus rapidement dans Excel VBA?
- 25. Comment imprimer via BT en utilisant WinCE?
- 26. Comment imprimer les colonnes d'une matrice JAMA?
- 27. Comment imprimer l'élément html caché dans Zend_Form_Element_Select
- 28. Comment puis-je imprimer DataGridView en C#?
- 29. Comment imprimer plusieurs résultats dans la rangée
- 30. Comment imprimer un seul commentaire dans drupal?
Mieux encore, nous @ "% p". % x formate une valeur entière en hexadécimal, tandis que% p est spécifique aux pointeurs, et remplit en outre la représentation hexadécimale imprimée. –
Bon point! J'ai mis à jour la réponse en conséquence :) – smorgan