datensätzte einlesen -> super komischer fehler



  • Hallo!
    irgendwie zweifel ich gerade an meinem guten verstand.

    ich habe folgendes problem. ich lese zuerst einen referenz sound ein. das funktioniert auch noch. danach will ich in eine liste mehrere vergleichsounds laden. komischerweise gibt mir die erste messagebox zurück, das der richtige sound geladen wurde.
    weiter unten in der schleife jedoch verändert sich die variable strReferenceSound immer wieder auf den aktuell eingelesenen sound. nun bin ich mal völlig platt weil ich ja gar nichts mehr mit der variable mache ..

    // datensatz laden	
    	pfileSounds = fopen("config.txt", "rb");
    	if(pfileSounds != NULL)
    	{
    		iRead = fscanf(pfileSounds, "%s\n", m_strReferenceSound);
    		MessageBox(m_strReferenceSound);
    		while(iRead != EOF) // bis datei zu ende
    		{
                            MessageBox(m_strReferenceSound);
    			iRead = fscanf(pfileSounds, "%s\n", strSound);
    			m_liststrSounds.insert(m_liststrSounds.end(), strSound);
    		}
    		fclose(pfileSounds);
    	}
    	m_itSounds = m_liststrSounds.begin();
    

    BSP:

    messagebox: c:\referenz.wav
    messagebox: c:\vergleich1.wav
    messagebox: c:\vergleich2.wav
    messagebox: c:\vergleich3.wav

    versteh die welt net mehr 😞
    danke schon mal für die hilfe !!

    Ulath

    PS: verwende die funktion in der mfc (aber dürfte ja net relevant sein)



  • m_strReferenceSound und strSound sind doch hoffentlich nicht vom Typ CString?



  • Nimm doch std::string und streams, damit dürfte der Code einfacher, kürzer und korrekter werden.

    MfG Jester



  • jo sind CStrings ..
    dann werd ichs mal mit den noramlen std::string versuchen .. oder muss ich nen char array nehmen ?

    THX schon mal !

    Ulath


Log in to reply