String aufteilen



  • Wie kann ich den folgenden String in die 3 Teile aufteilen (Sind durch ";" getrennt.)
    So sieht der String aus:

    mittlerer kB-Wert:;24;MN/m
    

    Der String wird mit Stringname[0] angesprochen. Aus diesem Grund fukntioniert auch sizeof nicht...

    Hat jemand eine Idee wie ich das Problem lösen kann?

    Vielen Dank für die Antworten.



  • Kommt darauf an was du unter string verstehst.

    std::sting
    CString
    QString

    Alle diese Klassen nehmen eine Zeichenkette auf.
    Sie haben alle Methoden um etwas in der Zeichenkette zu suchen und die Position zuzurückzugeben.
    Mit dieser Position kann man einen Teil aus der Zeichenkette rausholen.
    Danach wieder weitersuchen u.s.w.



  • Hi,
    wenn du die Klasse CString verwendest, kannst du mit Find() die Position suchen und mit Left(), Mid() und/oder Right() die Teilstrings selektieren.

    CString Stringname[1];
    Stringname[0] = "mittlerer kB-Wert:;24;MN/m";
    
    int pos1 = Stringname[0].Find(';', 0);
    CString string1 = Stringname[0].Left( pos1 );
    
    int pos2 = Stringname[0].Find(';', pos1+1);
    CString string2 = Stringname[0].Mid( pos1+1, (pos2-pos1-1) );
    

Anmelden zum Antworten