CString trennen



  • Ich lese meine Dateien erst in ein CString ein und möchte es dann trennen. CString[0], CString[1],... . In PHP geht das sehr einfach. Da gibt es den Befehl >array=explode("trennzeichen",String);<

    Frage: geht das nicht irgendwie einfacher, und vor allem mit mehr als einem Zeichen?

    Bei mir habe ich es bis jetzt nur mit einem Zeichen herausgefunden:
    Globale Definition:

    CString arraydata[200]; //Zur Arraytrennun
    int arraydatalen=0;
    

    Dann Aufruf über eine Funktion die den String trennen soll.

    void CGBlaBla::lesen {
    ...
      char d='§';
      GetArray(str,d);
    ...
    }
    
    void CGBlaBla::GetArray(CString str, char tz)
    {
      CString wort="",txt;
      int zanz=0,i;
      int lenght = str.GetLength();
      char zeichen;
    
      arraydatalen=0; //Länge des globalen Arrays auf 0
    
      for (i=0; i<lenght; i++) {
        zeichen = str.GetAt(i);
        if (zeichen!=tz && zeichen!='\n' && zeichen!='\r' && zeichen!='\n\r') {
          wort=wort+zeichen;
        }
        else {
          arraydata[arraydatalen]=wort;
    //AfxMessageBox(wort);
          arraydatalen++;
          wort="";
        }
      }
    }
    

    [ Dieser Beitrag wurde am 27.01.2003 um 20:13 Uhr von hronny editiert. ]



  • Ehm die Klasse CString hat auch eine Funktion namens Find(...)



  • Und wie trennt man damit?



  • Schau mal in die FAQ.

    CString::find
    CString::mid
    CString::Left
    CString::Right

    Devil



  • Und außerdem gibts doch die Klasse CStringArray. Das bietet sich doch auch an.

    Zu CString::Find : 
     http://msdn.microsoft.com/library/default.asp?url=/library/en-us/wcemfc/htm/cstring_8.asp 
    
    Zu CString::Left :
     http://msdn.microsoft.com/library/default.asp?url=/library/en-us/wcemfc/htm/cstring_19.asp 
    
    Zu CString::Right :
     http://msdn.microsoft.com/library/default.asp?url=/library/en-us/wcemfc/htm/cstring_30.asp
    

    Ciao

    Stalin





  • Und die undokumentierte Funktion AFxExtractSubString() ist auch sehr hilfreich. Die benütze ich.


Anmelden zum Antworten