我目前正在Objective-C中编写一个wavefront OBJ加载器,我试图弄清楚如何以类似于C中的sscanf()函数的方式解析NSString中的数据.
OBJ文件定义顶点,纹理坐标和法线的x,y,z三元组中的面,例如:
f 1.43//2.43 1.11//2.33 3.14//0.009
Run Code Online (Sandbox Code Playgroud)
我不关心当前时刻的纹理坐标.在C中,解析这一行的简单方法是声明如下:
sscanf(buf, "f %d//%d %d//%d %d//%d", &temp[0], &temp[1], &temp[2], &temp[3], &temp[4], &temp[5]);
Run Code Online (Sandbox Code Playgroud)
显然,NSStrings不能在没有首先将它们转换为C风格的字符串的情况下在sscanf()中使用,但我想知道是否有一种更优雅的方式来执行此操作而不进行这样的转换.