0

私は手渡され、(NSInteger) pageIndexそれをページに印刷する必要があります

void CGContextShowTextAtPoint ( CGContextRef c, CGFloat x, CGFloat y, const char *string, size_t length );

const char *stringその文字列の長さを忘れないようにするにはどうすればよいですか

最初に整数を文字列に変換してから変換するという厄介なトリックに行き着く傾向がありますcStringUsingEncoding:NSMacOSRomanStringEncodingが、それは最もエレガントな方法ではありません

完全を期すために、ここにコードがあります

const char *pageIndexString = [[NSString stringWithFormat:@"%d", pageIndex] cStringUsingEncoding:NSMacOSRomanStringEncoding];
CGContextShowTextAtPoint(CGContextRef, CGFloat x, CGFloat y, pageIndexString, strlen(pageIndexString));
4

1 に答える 1

4

これを試して:

NSString *tmp = [NSString stringWithFormat:@"%ld", pageIndex];
const char *str = [tmp UTF8String];
size_t length = [tmp length];
于 2012-10-23T18:14:14.470 に答える