我一直在尋找通過我朋友的OBJ加載代碼。他用C++完成了它;代碼是:關於scanf的這段代碼是什麼?
bool LoadObj(char* given){
char tempText[60];
std::ifstream OB(given);
OB.seekg(0,OB.end); int length = OB.tellg() ; OB.seekg(0,OB.beg);
char* STREAM = new char[length];
OB.read(STREAM,length);
OB.close();
char *t,dump[20];
int Number_Of_Vertices,Number_Of_faces;
t = strstr(STREAM,"vertices");
sscanf(&STREAM[&t[0]-&STREAM[0]-10],"%s # %i vertices",&dump,&Number_Of_Vertices);
printf("\nthere are %i vertices",Number_Of_Vertices);
t = strstr(STREAM,"faces");
sscanf(&STREAM[&t[0]-&STREAM[0]-10],"%s # %i faces",&dump,&Number_Of_faces);
printf("\nthere are %i faces",Number_Of_faces);
......
當我通過加載obj文件測試它時,它正確打開。不過我不明白sscanf()
的第一個參數,即:&STREAM[&t[0]-&STREAM[0]-10]
。請解釋它是如何工作的?
你能不能問你的朋友?這是他們的代碼,他們應該擁有它。 – StoryTeller
我可以問他,但他到星期五都很忙。 – Fennekin
這是obj文件http://pastebin.com/pvi7bU6y – Fennekin