Wednesday, April 11, 2012

Sscanf Equivalent in Objective-C

I'm currently writing a wavefront OBJ loader in Objective-C and I'm trying to figure out how to parse data from an NSString in a similar manner to the sscanf() function in C.



OBJ files define faces in x,y,z triplets of vertices, texture coordinates, and normals such as:



f 1.43//2.43 1.11//2.33 3.14//0.009


I'm not concerned about texture coordinates at the current moment. In C, an easy way to parse this line would be a statement such as:



sscanf(buf, "f %d//%d %d//%d %d//%d", &temp[0], &temp[1], &temp[2], &temp[3], &temp[4], &temp[5]);


Obviously, NSStrings can't be used in a sscanf() without first converting them to a C-style string, but I'm wondering if there's a more elegant way to performing this without doing such a conversion.





No comments:

Post a Comment