gnustep-dev
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: multiple string tokens


From: David Chisnall
Subject: Re: multiple string tokens
Date: Wed, 17 Aug 2011 19:39:50 +0100

On 17 Aug 2011, at 19:36, Eric Wasylishen wrote:

> Hey,
> 
> I don't like using PRIdPTR because it took me a while to figure out why it 
> works

It's pretty simple: PRI (printf format string), character for int, PTR (pointer 
type).

> (I had to look up that it's a format string for intptr_t, and then check the 
> NSInteger definition to verify that that is also intptr_t…), and PRIdPTR 
> introduces a dependency on how NSInteger is defined everywhere you use it.

NS[U]Integer is defined as a pointer sized integer, anywhere that it is 
defined.  There is no extra dependency: the definition of the type is a 
pointer-sized integer, so the correct format specifier is the relevant one for 
a pointer-sized integer.

> Personally I always cast NSInteger/CGFloat to a c89 type when I need to print 
> them, since it will work on any Foundation implementation. Anyway, we just 
> have to make sure we never have (@"foo: %f", someCGFloat) or  (@"foo: %d", 
> someNSInteger)!

Casting to long long / unsigned long long will also work, as will casting 
CGFloat to double.  

David

--
This email complies with ISO 3103




reply via email to

[Prev in Thread] Current Thread [Next in Thread]