Textdatei auslesen



  • Hallo,

    und zwar geht es darum mehrere Zeilen einer Textdatei auszulesen aber nach einem bestimmten Schema.

    in der Textdatei stehen zB folgende Zeile:

    |250404|25,6|
    |234046|21,6|

    jetzt möchte ich zb. die Werte 250404,234046 in das Feld A und die Werte 25,6 und 21,6 in das Feld B einlesen.

    Das ist mein Momentaner Code wo er in der Textdatei das stehen hat...
    14
    123
    42
    432
    232

    // Werte aus Textdatei einlesen
    	CStdioFile file("datei.txt",CFile::modeRead); 
    
        CString temp = _T(""); 
        CString str = _T("");  
       	int j=0;
    	int max=0;
    	float zahlen[100];
    	float gesamt=0;
    	float durchschnitt=0; // Durchschnittswert
    	float minimum=100000; // Minmum Wert
    	float maximum=-100000; // Maximum Wert
    
    	while(file.ReadString(temp) != NULL) 
        {
    		str += temp + "\r\n"; //hängt ein Zeilenende an den String
    
    		const char* ptemp=NULL;
    		ptemp = (LPCTSTR) temp;
    		zahlen[j] = atof(ptemp);
    
    		// Minimum berechnen
    		if(zahlen[j]<=minimum)
    		{
    			minimum=zahlen[j];
    		}
    
    		// Maximum berechnen
    		if(zahlen[j]>maximum)
    		{
    			maximum=zahlen[j];
    		}
    
    		gesamt = gesamt+zahlen[j];		
    
    		j++;
    		max=j;
    
        }
    

    Das heisst ich brauch ne Möglichkeit das zu selektieren was zwischen den "|" steht weiß aber nicht wie mir das gelingen könnte. Hättet ihr da ne Lösung parat?

    dankeschön
    mfg Harry



  • CString::Find -> damit suchst du nach den "|" im String
    CString::Mid -> damit extrahierst du Teile des Strings

    genauer siehe MSDN



  • herzlichsten dank werd mir das jetzt genauer anschaun!


Anmelden zum Antworten