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.


Anmelden zum Antworten