Von FILE zu fstream
-
Hi,
ich benutze laufend fstreams für einfache sachen aber neulich hab ich im netz einen code gefunden den ich net richtig mit fstreams umsetzen kann (Programm schmiert ab ohne ende!)
hier den code, den ich umsetzen will:
fread(&m_Header, 1, sizeof(tMd2Header), m_FilePointer); if(m_Header.version != 8) { // Display an error message for bad file format, then stop loading sprintf(strMessage, "Invalid file format (Version not 8): %s!", strFileName); MessageBox(NULL, strMessage, "Error", MB_OK); return false; } // [...] // Next, we start reading in the data by seeking to our skin names offset fseek(m_FilePointer, m_Header.offsetSkins, SEEK_SET); // Depending on the skin count, we read in each skin for this model fread(m_pSkins, sizeof(tMd2Skin), m_Header.numSkins, m_FilePointer); // Move the file pointer to the position in the file for texture coordinates fseek(m_FilePointer, m_Header.offsetTexCoords, SEEK_SET); // Read in all the texture coordinates in one fell swoop fread(m_pTexCoords, sizeof(tMd2TexCoord), m_Header.numTexCoords, m_FilePointer); // Move the file pointer to the triangles/face data offset fseek(m_FilePointer, m_Header.offsetTriangles, SEEK_SET); // Read in the face data for each triangle (vertex and texCoord indices) fread(m_pTriangles, sizeof(tMd2Face), m_Header.numTriangles, m_FilePointer); // Move the file pointer to the vertices (frames) fseek(m_FilePointer, m_Header.offsetFrames, SEEK_SET); fread(pFrame, 1, m_Header.frameSize, m_FilePointer);
ich krieg den irgendwie echt net umgesetzt vorallem bei diesem fseek weis ich net wie ich das mit streams machen soll
Weis jemand rat?
Schon mal danke im voraus!
-
fseek auf streams geht mit seekg.
-
hm ja das habe ich in der MSDN gefunden, aber dort stand nicht wie ich das benutze. Also so das genau das selbe ergebnis rauskommt wie bei den fseek funktionen.