On Feb 13, 2012, at 10:04 AM, Chris Paveglio wrote:

> I'm having an issue with the percent character being displayed as random 
> numbers in an NSAlertPanel (modal). My app has an ivar, "fullString", 
> including the usual property/synthesize getters and setters, there is nothing 
> special about it. fullString is bound to an NSTextField where a user might 
> type "10% off all shoes", or put some text that contains dollar signs or 
> percent signs. Later another method will validate if it's a web address or 
> plain text and display an alert if it's not a web address. At this point I 
> use the usual -stringWithFormat and put the "fullString" text in with some 
> other descriptive text. But if fullString contains a percent character, then 
> the NSAlert displays something like "10254458745ff all shoes". Why is the 
> percent character being turned into some numbers, and it also seems to lop 
> off the space and letter o as well? Using ampersand, dollar sign, and number 
> symbol all display properly.
> FWIW, I am using objective-C++, because my QR code library project is C++ and 
> I need to compile it all the same (first time I've had to do anything like 
> this). Would that be somehow mangling my string in the NSAlert display? If I 
> do NSLog on the string displayed in the NSAlert it also logs properly. So why 
> the discrepancy in the Alert?


% is a format specifier, so you must escape them (by doubling them, "%%") if 
you are using it as a format string, even if what follows the % is not a known 
specifier. In your case, "o" means show an unsigned int in octal and the space 
after the % means pad spaces instead of zeros. The number is being derived from 
whichever parameter is being eaten up by the specifier. If it is an object, it 
is converting the pointer address to an int and then showing it in octal. 
Normally you would get a warning about this, unless you don't have decent 
warnings set...

HTH,

Keary Suska
Esoteritech, Inc.
"Demystifying technology for your home or business"


_______________________________________________

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

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:
https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Reply via email to