Re: How to add a -(unsigned long long)unsignedLongLongValue method to NSString
Re: How to add a -(unsigned long long)unsignedLongLongValue method to NSString
- Subject: Re: How to add a -(unsigned long long)unsignedLongLongValue method to NSString
- From: Kenneth Bruno II <email@hidden>
- Date: Sun, 11 Jan 2009 10:29:43 -0500
On Jan 11, 2009, at 9:41 AM, Adam R. Maxwell wrote:
On Jan 11, 2009, at 1:50 AM, Ken Thomases wrote:
On Jan 11, 2009, at 1:28 AM, email@hidden wrote:
If you must work character-by-character,
use character constants (e.g. >'0' or '9')
In that (unlikely) situation, how would I test, say, equality
of characters ? For example, if I needed to know whether
character number j in aString is '7', writing
([aString characterAtIndex:j]=='7') wouldn't work, would it ?
Sure it would. Both unichar (as typedef'd) and char are integer
types in C. '7' is another way of writing a number, although not
the number 7. Which number depends on the encoding of your source
file, but in most modern systems it would be ASCII or UTF-8. (I
don't know if, for example, EBCDIC is still used on any modern
systems.) In either of those, '7' is the same as 0x37 or 55.
If you have single quotes, it is the number 7, isn't it? Or is it
too early in the morning here?
#import <Foundation/Foundation.h>
int main (int argc, char const *argv[])
{
NSAutoreleasePool *pool = [NSAutoreleasePool new];
unichar c = '7';
NSString *s = [NSString stringWithCharacters:&c length:1];
NSLog(@"%@ == %C", s, c);
return 0;
}
This prints 7 == 7, as I'd expect. If you use "unichar c = 7" I'd
expect the results you mention.
--
Adam
If you use single quotes then '7' returns the numerical value of the
character represented by 7. Under ASCII or UTF-8 that value would be
55. Under other encodings the value might be something different.
int c, d;
c = '7'; // if your system uses ASCII the value of c is 55
d = 7; // the value of d is now 7
NSLog([NSString stringWithFormat:@"char:%c, charValue:%d, numberValue:
%d", c, c, d]);
- Ken
_______________________________________________
Cocoa-dev mailing list (email@hidden)
Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden