AnsiString nach Kriterium teilen [gelöst]



  • Hallo

    Ähm, was glaubst du wurde im dem Thread so ausführlich plattgewalzt? Wie man Zeichen sucht und Strings trennt! Also benutz genau die Funktionen, die genannt wurden, und stell die etwas um.

    bis bald
    akari



  • Was soll man sagen:

    - keine Zeit hat er
    - er hat eine Lösung gefunden
    - die funktioniert mit Leerzeichen nicht?
    - er weiss nicht, das AnsiString und TStringList nun auch in einer Konsole gehen
    - entsprechende Routinen wurden gezeigt

    Bleibt nur noch -> *kopfschüttel*



  • Mal abgesehen davon wurde das hier schon unzählig oft durchgekaut.
    In der Suche mal einfach "Seperator" eingeben ...



  • dope_dope schrieb:

    das hindert mich.
    while(fgets(zeile, 99, f) != NULL)
    {...

    hast du vielleicht ein beispiel???

    ich hoffe du meinst das

    void get()
    {
            char data[1000];
            while(strncmp("quit", data, 4)==!0 && strncmp("exit", data, 4)==!0)
                    gets(data);
    }
    


  • Nachdem ich mein Programm angepasst habe, bin ich zu folgenden Lösungen gekommen:

    Erstes Problem ("Hans\Wurst" sollte so geteilt werden, dass nur noch "Wurst" übrig bleibt):

    AnsiString var_Username="Hans\Wurst";
    
    char * pch;                                   
    pch = strtok (var_Username.c_str(),"\\");     
    
    while (pch != NULL)                           
    {                                             
    	strcpy (var_Username.c_str(),pch);
    	pch = strtok (NULL, " ,.");
    }
    

    Zweites Problem ("Bla Test" sollte so geteilt werden, dass nur noch "Bla" übrig bleibt):

    AnsiString var_Text="Bla Test";
    
    char * pch; 
    pch = strtok (var_Text.c_str()," "); 
    
    strcpy (var_Text.c_str(),pch);
    

    THX an alle Beteiligten!



  • Wo wird den Speicher für char* pch reserviert und wieder freigegeben? Und es ist dir bewußt, dass bei der ersten Verwendung von pch ein int besser geeignet wäre?

    Und da Du doch schon AnsiString verwendest, warum verwendest Du nicht dessen Methoden AnsiPos() und SubString()?



  • Weil er nicht hören will/kann -> lies den ganzen Thread



  • Könnt ihr mir nicht mal bitte eins meiner Beispiele mit AnsiPos und Substring umschreiben???
    Wär echt super!



  • Hallo

    AnsiString var_Username="Hans Wurst"; 
    int Pos = var_Username.Pos(" ");
    AnsiString Vorname;
    if (Pos > 0)
    {
      Vorname = var_Username.SubString(1, Pos -1);
      var_Username.Delete(1, Pos);
      }
    

    Die Erklärungen kannst du dir selber aus dieser Übersicht rausholen

    bis bald
    akari



  • Habe dir bereits zu Anfang eine universelle Funktion gezeigt!


Anmelden zum Antworten