Werte aus Datei einlesen



  • Hi,

    ich habe eine Datei, die in ungefähr so aussieht:

    2 [348313] 100.0125 100.0125 99.9914 99.9986 0.0400 0.0400
    2 [348313] 100.0125 100.0125 99.9914 99.9986 0.0400 0.0400
    2 [323683] 100.0125 100.0125 100.0034 100.0052 0.0400 0.0400

    (ist nur ein kleiner Ausschnitt...)

    Gibt es nun ne Möglichkeit, die Datei Zeile für Zeile einzulesen und die einzelnen 8 Werte einer Zeile direkt in 8 Variablen zu speichern?
    (Trennzeichen einfügen wäre kein Problem.)

    Oder muss ich da (beispielsweise mit CString.Find()) jede Zeile "von Hand" bearbeiten?

    Gruß,
    Mav



  • Hi,

    Ich denke an (.Find) kommst du nicht herum !!

    Mit

    CStdioFile file;
    	if(file.Open(progPath +"\\data.gq", CFile::modeRead))
    	{
    //Zeile lesen und aufteilen
    	}
    	file.Close();
    

    sollte es gehen !!

    Gruß



  • man braucht kein CString::Find. Das geht mit der C-Funktion sscanf

    char szBuffer[50];
    int a, b;
    float c, d, e;
    
    try {
    	CFile File("test.dat",CFile::modeRead);
    	File.Read((void*)szBuffer,50);
    
    	::sscanf(szBuffer,"%i [%i] %f %f %f %*f %*f %*f",&a,&b,&c,&d,&e);
    	File.Close();
    }
    catch (CFileException* pEx) {
    	pEx->ReportError(), pEx->Delete();
    }
    


  • genau so etwas meinte ich! 😋

    Danke!!! 🙂


Anmelden zum Antworten