2012-06-06 74 views
1

我需要定義以下2的unicode常數的#define Unicode字符

/*

平符號 ♭ MUSIC FLAT SIGN 的Unicode:U + 266D,UTF-8:E2 AD 99

夏普符號 ♯ MUSIC SHARP SIGN 的Unicode:U + 266F,UTF-8:E2 99 AF

*/

#define kSongsSharpSymbol [NSString stringWithFormat:@"\u0266F"] 
#define kSongsFlatSymbol [NSString stringWithFormat:@"\u0266D"] 

當我看到控制檯輸出,值不正確的符號:

NSLog(@"Sharp Constant %@",kSongsSharpSymbol);  

我在做什麼錯?

回答

3

移除前導零的固定這樣的:

#define kSongsSharpSymbol [NSString stringWithFormat:@"\u266F"] 
#define kSongsFlatSymbol [NSString stringWithFormat:@"\u266D"] 
0

採用stringWithFormat:(如由@Slinky建議的)是不必要的。解碼\u由編譯器完成,而不是運行時。您可以使用字符串文字:

#define kSongsSharpSymbol @"\u266F" 
#define kSongsFlatSymbol @"\u266D"