Objective c 使用格式说明符将字符串解压到对象数组中
有没有办法根据多个格式说明符将字符串转换为不同数据类型的对象数组 我尝试了Objective c 使用格式说明符将字符串解压到对象数组中,objective-c,cocoa,nsstring,Objective C,Cocoa,Nsstring,有没有办法根据多个格式说明符将字符串转换为不同数据类型的对象数组 我尝试了initWithFormat:arguments:,但没有得到预期的结果。 Python中的struct模块中有一个类似的函数,unpack(fmt,String),其中fmt是格式说明符字符串,String是要转换的字符串 查看sscanf: void unpackStr(NSString *string, NSString *format, ...) { va_list args; va_start(a
initWithFormat:arguments:
,但没有得到预期的结果。
Python中的
struct
模块中有一个类似的函数,unpack(fmt,String)
,其中fmt
是格式说明符字符串,String
是要转换的字符串 查看sscanf
:
void unpackStr(NSString *string, NSString *format, ...)
{
va_list args;
va_start(args, format);
vsscanf([string UTF8String], [format UTF8String], args);
va_end(args);
}
那么您需要的是NSString的
scanf
函数?我想您需要NSScanner
。下面是一个例子:您好,您提供的代码没有给出预期的结果。我做了一个测试来显示一个字符串**123495885aaaaa,但结果是**26867122686712410085768676026867125339441727800024pyõfÀYõf°SõfpRõf Rõf�Qõf Qõf**您将以何种格式发送到args
?你读过sscanf文档吗?我在va_列表之前添加了printf命令,用于格式和字符串,在va_结束之前添加了一个printf,输出如下格式:%I%I%I%I%I%I%I%I%5s
字符串:123495885aaaaaa
值:268672822686728 0 1728095392 1727081904 2686728 1728095392 1727996152 PYõõfõfõfpRõf Rõf�Qõf Qõf