level 11
gameloftyou
楼主
#include <windows.h>
#include <iostream>
#include <string>
#include <sstream>
#include <fstream>
#include <cstdlib>
using
namespace std;
string mn;
void toLower(string &s)
{
for(string::iterator iter=s.begin();iter!=s.end();++iter)
{
*iter = tolower(*iter);
}
}
inline
bool startswith(string &a,string &b)
{
if(a.size()<b.size())
{
return
false;
}
return a.substr(0,b.size())==b;
}
void doObj(string &fp,string &fn,string &nd)
{
ifstream in(fp.c_str());
ofstream out((nd+"\\"+fn+".obj").c_str());
string usemtl("usemtl"),f("f"),mtllib("mtllib"),now,pre;
int c = 0;
while(getline(in,now))
{
now+="\n";
if(startswith(now,usemtl)&&startswith(pre,f))
{
out<<"o "<<c<<"\n";
out<<now;
}
else
if(startswith(now,mtllib))
{
istringstream is(now);
is>>mn>>mn;
out<<now;
}
else
{
2012年09月12日 13点09分
1
#include <iostream>
#include <string>
#include <sstream>
#include <fstream>
#include <cstdlib>
using
namespace std;
string mn;
void toLower(string &s)
{
for(string::iterator iter=s.begin();iter!=s.end();++iter)
{
*iter = tolower(*iter);
}
}
inline
bool startswith(string &a,string &b)
{
if(a.size()<b.size())
{
return
false;
}
return a.substr(0,b.size())==b;
}
void doObj(string &fp,string &fn,string &nd)
{
ifstream in(fp.c_str());
ofstream out((nd+"\\"+fn+".obj").c_str());
string usemtl("usemtl"),f("f"),mtllib("mtllib"),now,pre;
int c = 0;
while(getline(in,now))
{
now+="\n";
if(startswith(now,usemtl)&&startswith(pre,f))
{
out<<"o "<<c<<"\n";
out<<now;
}
else
if(startswith(now,mtllib))
{
istringstream is(now);
is>>mn>>mn;
out<<now;
}
else
{