#include <iostream>
#include <sstream>
void read3floats(std::istream & i, std::string const & sw)
{
float a, b, c;
i >> a >> b >> c;
std::cout << sw << " - read " << a << ", " << b << ", " << c << std::endl;
}
int main()
{
std::string buf = "\
# 3ds Max Wavefront OBJ Exporter v0.97b - (c)2007 guruware\n\
# File Created: 27.02.2012 19:39:59\n\
\n\
mtllib level.mtl\n\
\n\
#\n\
# object Plane001\n\
#\n\
\n\
v -56.7521 0.0000 -8.0054\n\
v -19.4765 0.0000 -8.0054\n\
v -19.4765 0.0000 -35.5556\n\
v -56.7521 0.0000 -35.5556\n\
\n\
vn 0.0000 1.0000 -0.0000\n\
vn -0.0294 0.9987 -0.0424\n\
vn 1.0000 0.0000 -0.0000\n\
vn 0.0000 0.0000 -1.0000\n\
\n\
vt 0.0000 0.6614 0.0000\n\
vt 0.3080 0.6614 0.0000\n\
vt 0.3080 1.0000 0.0000\n\
vt 0.0000 1.0000 0.0000\n\
\n";
std::istringstream iss(buf);
while (!iss.eof()) {
std::string sw;
iss >> sw;
if (sw == "v" || sw == "vt") read3floats(iss, sw);
}
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8c3N0cmVhbT4KCnZvaWQgcmVhZDNmbG9hdHMoc3RkOjppc3RyZWFtICYgaSwgc3RkOjpzdHJpbmcgY29uc3QgJiBzdykKewoJZmxvYXQgYSwgYiwgYzsKCWkgPj4gYSA+PiBiID4+IGM7CglzdGQ6OmNvdXQgPDwgc3cgPDwgIiAtIHJlYWQgIiA8PCBhIDw8ICIsICIgPDwgYiA8PCAiLCAiIDw8IGMgPDwgc3RkOjplbmRsOwp9CgppbnQgbWFpbigpCnsKCXN0ZDo6c3RyaW5nIGJ1ZiA9ICJcCiMgM2RzIE1heCBXYXZlZnJvbnQgT0JKIEV4cG9ydGVyIHYwLjk3YiAtIChjKTIwMDcgZ3VydXdhcmVcblwKIyBGaWxlIENyZWF0ZWQ6IDI3LjAyLjIwMTIgMTk6Mzk6NTlcblwKXG5cCm10bGxpYiBsZXZlbC5tdGxcblwKXG5cCiNcblwKIyBvYmplY3QgUGxhbmUwMDFcblwKI1xuXApcblwKdiAgLTU2Ljc1MjEgMC4wMDAwIC04LjAwNTRcblwKdiAgLTE5LjQ3NjUgMC4wMDAwIC04LjAwNTRcblwKdiAgLTE5LjQ3NjUgMC4wMDAwIC0zNS41NTU2XG5cCnYgIC01Ni43NTIxIDAuMDAwMCAtMzUuNTU1NlxuXApcblwKdm4gMC4wMDAwIDEuMDAwMCAtMC4wMDAwXG5cCnZuIC0wLjAyOTQgMC45OTg3IC0wLjA0MjRcblwKdm4gMS4wMDAwIDAuMDAwMCAtMC4wMDAwXG5cCnZuIDAuMDAwMCAwLjAwMDAgLTEuMDAwMFxuXApcblwKdnQgMC4wMDAwIDAuNjYxNCAwLjAwMDBcblwKdnQgMC4zMDgwIDAuNjYxNCAwLjAwMDBcblwKdnQgMC4zMDgwIDEuMDAwMCAwLjAwMDBcblwKdnQgMC4wMDAwIDEuMDAwMCAwLjAwMDBcblwKXG4iOwoJc3RkOjppc3RyaW5nc3RyZWFtIGlzcyhidWYpOwoJCgl3aGlsZSAoIWlzcy5lb2YoKSkgewoJCXN0ZDo6c3RyaW5nIHN3OwoJCWlzcyA+PiBzdzsKCQlpZiAoc3cgPT0gInYiIHx8IHN3ID09ICJ2dCIpIHJlYWQzZmxvYXRzKGlzcywgc3cpOwogICAJfQoKCXJldHVybiAwOwp9
v - read -56.7521, 0, -8.0054
v - read -19.4765, 0, -8.0054
v - read -19.4765, 0, -35.5556
v - read -56.7521, 0, -35.5556
vt - read 0, 0.6614, 0
vt - read 0.308, 0.6614, 0
vt - read 0.308, 1, 0
vt - read 0, 1, 0