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