Comment utiliser printf avec NSSsortingng

J’ai besoin d’utiliser quelque chose comme NSLog mais sans le caractère timestamp et newline, donc j’utilise printf . Comment puis-je l’utiliser avec NSSsortingng ?

Vous pouvez convertir un NSSsortingng en une chaîne UTF8 en appelant la méthode UTF8Ssortingng :

 printf("%s", [ssortingng UTF8Ssortingng]); 
 //public method that accepts a ssortingng argument - (void) sayThis : ( NSSsortingng* ) this { printf("%s",[this cSsortingng]); } 

Selon le NSSsortingng.h (version html), la méthode UTF8Ssortingng est uniquement disponible sur Mac OSX.

(voir ci-dessous) Toutes les autres méthodes que j’ai examinées sont marquées “disponibilité: Openstep”

Il existe d’autres méthodes qui renverront des chaînes de caractères régulières, mais elles peuvent générer des exceptions de conversion de caractères.

REMARQUE Les pointeurs de chaîne pointent vers la mémoire qui pourrait disparaître, vous devez donc copier les chaînes si vous souhaitez conserver une copie du contenu de la chaîne, mais l’impression immédiate devrait être correcte.

Il y a aussi des méthodes qui renverront une chaîne encodée, et une méthode pour tester si le codage souhaité fonctionnera (je pense) afin que vous puissiez vérifier si votre encodage requirejs fonctionnera, puis demander une chaîne qui a été encodée comme vous le souhaitez.

De la lecture du fichier .h lui-même, il existe de nombreux encodages et traductions entre les encodages. Celles-ci sont gérées à l’aide d’énumérations afin que vous puissiez transmettre le type de codage souhaité en argument.

Sur Linux etc. faites:

localisez NSSsortingng.h ** Notez que vous avez également trouvé le fichier html doc

sinon faire un:

trouver / usr -name NSSsortingng.h

REMARQUE Votre kilométrage peut varier 🙂

Merci.

A partir du fichier doc html NSSsortingng.h:

cSsortingng – (const char *) cSsortingng; Disponibilité: OpenStep

Renvoie un pointeur sur une chaîne terminée par un caractère NULL de caractères de 8 bits dans le codage par défaut. La mémoire pointée n’appartenant pas à l’appelant, l’appelant doit donc copier son contenu pour le conserver. Déclenche une exception NSCharacterConversionException en cas de perte d’informations lors de la conversion. (Voir -canBeConvertedToEncoding:.)

cSsortingngLength – (NSUInteger) cSsortingngLength; Disponibilité: OpenStep

Renvoie la longueur d’une version de cette chaîne Unicode convertie en octets à l’aide du codage de chaîne C par défaut. Si la conversion entraîne une perte d’informations, les résultats sont imprévisibles. Vérifiez -canBeConvertedToEncoding: d’abord.

cSsortingngUsingEncoding: – (const char *) cSsortingngUsingEncoding: (NSSsortingngEncoding) encodage; Disponibilité: MacOS-X 10.4.0, Base 1.2.0

Renvoie un pointeur sur une chaîne de caractères terminée par un caractère nul dans le codage spécifié. NB Sous GNUstep, vous pouvez utiliser ceci pour obtenir une chaîne utf-16 à terminaison nulle (caractères de 16 bits) ainsi que des chaînes de huit bits. La mémoire pointée n’appartenant pas à l’appelant, l’appelant doit donc copier son contenu pour le conserver. Déclenche une exception NSCharacterConversionException si la perte d’informations se produisait lors de la conversion.

canBeConvertedToEncoding: – (BOOL) canBeConvertedToEncoding: encodage (NSSsortingngEncoding); Disponibilité: OpenStep

Retourne si cette chaîne peut être convertie en encodage de chaîne donné sans perte d’information.