CString selektieren/teilen



  • Jetzt hab ich noch ein Problem,

    ich habe einen CString, der mehrere Datensätze enthält. Diese sind durch ',' getrennt. Irgendwie kann ich doch auch CString´s aufteilen in einzelne CStrings. Hab das mal mit strtok verusucht. Der will aber einen char. Und das will ich nicht.

    Hat jemand Erfahrung.

    Liebe Grüße

    Andrea





  • Hallo wenn die Datensaätze durch ein Komma getrennt sind dann kannst du doch mit einer schleife durch den string gehen und die einzelnen datensätze in seperate strings schreiben. ist vielleicht nicht die eleganteste lösung aber die einfachste


  • Mod

    http://www.mpdvc.de/html.htm#Q17

    CString ExtractSubString(LPCTSTR lpszFullString, int iSubString, TCHAR chSep)
    {
     CString rString;
    
     // Wenn nichts da leeren String zurück
     if (lpszFullString == NULL)
      return rString;
    
     while (iSubString--)
     {
      // Siche nächsten delimiter
      lpszFullString = _tcschr(lpszFullString, chSep);
      if (lpszFullString == NULL)
       // Nichts mehr da also leeres Ergebnis
       return rString;
      lpszFullString++;
     }
    
     // Ende errechnen
     LPCTSTR lpchEnd = _tcschr(lpszFullString, chSep);
     size_t nLen = (lpchEnd == NULL) ? _tcslen(lpszFullString) : (size_t)(lpchEnd - lpszFullString);
     ASSERT(nLen > = 0);
     // Daten kopieren
     memcpy(rString.GetBufferSetLength(nLen), lpszFullString, nLen*sizeof(TCHAR));
     return rString;
    }
    


  • Wie wäre es mit dem Members von CString:
    Find, Mid, Left, Right
    😕


Log in to reply