iOS:根据 内存地址 获取 对象 sscanf
2021-11-25 本文已影响0人
Liu____
NSString *pointer = @"test";
NSString *address = [NSString stringWithFormat:@"%p",pointer];
id retrievedObject;
sscanf([address cStringUsingEncoding:NSUTF8StringEncoding], "%p", &retrievedObject);
/// this requires a "0x" formatted hex string
ptr = [ptr hasPrefix:@"0x"] ? ptr : [@"0x" stringByAppendingString:ptr];
uintptr_t hex = strtoull(ptr.UTF8String, NULL, 0);
id gotcha = (__bridge id)(void *)hex;
int sscanf( const char* , const char*, ...);
int sscanf(const char *buffer , const char *format , [argument ]...);
buffer 存储的数据
format 格式控制字符串
argument 选择性设定字符串
sscanf会从buffer里读进数据,依照format的格式将数据写入到argument里