使用%@转换说明符和字段宽度时,Cocoa的printf样式格式是否无法正常工作?

时间:2010-03-23 15:33:57

标签: cocoa printf string-formatting

我对类似printf的格式字符串的理解是,您可以在任何转换说明符前加上最小字段宽度。这对Cocoa的%@说明符似乎不起作用。 例如:

NSLog(@"'%5@'", @"foo");
NSLog(@"'%5s'", [@"foo" UTF8String]);

输出:

… 'foo'
… '  foo'

这是预期的行为吗?

2 个答案:

答案 0 :(得分:1)

%@仅适用于objective-c对象。因此,如果对象不是NSString,则字段宽度将无效。

我不知道%5 @的格式与%@相同。

答案 1 :(得分:0)

%@格式说明符只会被对象的描述所取代。它不会进行任何截断或填充。