Gérer le type char
UniX
Membre
Salut.
J'ai une donnée qui ne doit contenir qu'un caractère. Je me suis dit, plutôt que de lui attribuer le type NSString, pourquoi pas char ....
Mes problèmes :
1) comment fait-on pour tester l'égalité avec une lettre ? Par exemple pour tester si monChar est égal à la lettre Z
2) comment se fait l'affectation ? monChar = Z ?
Merci pour votre aide.
J'ai une donnée qui ne doit contenir qu'un caractère. Je me suis dit, plutôt que de lui attribuer le type NSString, pourquoi pas char ....
Mes problèmes :
1) comment fait-on pour tester l'égalité avec une lettre ? Par exemple pour tester si monChar est égal à la lettre Z
2) comment se fait l'affectation ? monChar = Z ?
Merci pour votre aide.
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
Peut être devrais tu utiliser unichar qui est sur deux octects et aussi utilisé dans les NSString (characterAtIndex: retour un unichar).
Sinon, char c='Z'
if (c=='Z')... c'est l'équivalent de c==90...
2) monChar = Z;
:P
non, blague à part, char en fait (je crois) en C c'est un int (unsigned mais là je suis nettement moins sûr) et donc tu peux faire plein de truc marants du genre l'incrémenté (monChar = a; monChar++; et tu auras monChar == b) où faire des additions de lettre ??? :P.
Pour cela, je te renvoie au code d'Aligator : http://www.objective-cocoa.org/forum/index.php?topic=1070.msg11733#msg11733
[bon grilled par SuperMic]
Unichar est un caractère unicode donc qui peux coder beaucoup plus de choses (accents, grec, cyrillique,....). Très utile mais plus lourd
Moi en fait, je ne fais que stocker une information. Les lettres sont archi simples (A, B, C, ...). Je ne les manipule jamais. Par contre il faut que je le stocke dans un tableau, donc sous forme de NSString.
Au final, vaut-il mieux utiliser un char (ou unichar) ou un NSString ? Je commence à me demander si c'est pas mieux un NSString ....
Unix > char ou unichar tu ne pourras les stocker que dans un tableau "en C", par exemple unichar monTab[30] tu peux modifier, parcourir le tableau. Mais ce tableau sera relativement statique. Si tu souhaites utiliser un NSMutableArray il te faudra stocker ces unichar (ou char) dans un objet NSNumber, récupérant ensuite la valeur [unNumber charValue]...
Pour le choix entre char et unichar tout dépend de si t'utilise des caractères "basiques" comme de A à Z et les chiffres, si tu veux un é ou à il te vaudra un unichar... de même que si tu récupères le caractère depuis un NSString... (on sait jamais)
Quand au choix NSString ou (uni)char à toi de voir si dans une amélioration prochaine tu devras utiliser un NSString de deux ou plusieurs caractères ce qui risque de te reprendre la tête avec un simple tableau de (uni)char...
En espérant avoir été suffisamment clair... et ne pas t'avoir fait peur avec mes explications
Je vais finalement rester avec des char. :P