String classe ohne MFC ?



  • Hi,

    wie kann ich die String-Class in einer NICHT MFC anwendung benutzten ?

    hab "string.h" included !

    Ist das die richtige Header ? und wie heißt dann die KLasse ?

    wäre nett wenn mir jemand helfen könnte
    Cu



  • Es gibt viele Stringklassen. Welche meinst du? Die Stringklasse der MFC (CString)? Die kannst du natürlich nciht ohne die MFC verwenden. die Stringklasse der STL std::string dagegen schon. Bitte etwas genauer mit deinen Fragen, ja?



  • dEUs schrieb:

    Es gibt viele Stringklassen. Welche meinst du? Die Stringklasse der MFC (CString)? Die kannst du natürlich nciht ohne die MFC verwenden. die Stringklasse der STL std::string dagegen schon. Bitte etwas genauer mit deinen Fragen, ja?

    thx, das wollte ich schon Wissen 🙂

    Achja wie kann ich ein std::string in ein char* konvertieren ?



  • std::string::c_str()



  • Hallo!

    Du kannst die MFC Klasse CString auch ohne MFC werwenden!
    Zitate aus Online Hilfe:
    Die KlasseCString bietet Unterstützung für das Bearbeiten von Zeichenfolgen. Diese soll die normalerweise im Zeichenfolgenpaket der C-Laufzeitbibliothek angebotenen Funktionen ersetzen und erweitern. Die Klasse CString enthält Member-Funktionen und Operatoren für die vereinfachte Behandlung von Zeichenfolgen, ähnlich denen in Basic. Die Klasse bietet auch Konstruktoren und Operatoren für das Erstellen, Zuweisen und Vergleichen von CString-Objekten und C++-Standarddatentypen für Zeichenfolgen. Da CString nicht von CObject abgeleitet ist, können CString-Objekte unabhängig von den meisten Objekten der Microsoft Foundation Class Library (MFC) verwendet werden.
    include <afx.h>

    Grüß Denis. 😃



  • Mit std::string bist Du sicher protabler, allerdings liefert c_str nur einen const char * zurück. Wenn Du ein "Empfangspuffer brauchst (wo z.B. eine API-Funktion einen String reinschreiben kann), mußt du mit vector<char> arbeiten.

    Wenn Du aus diesen oder anderen Gründen CString bevorzugst:

    1. In VC7 gehört CStringT zur ATL (#include atlstr.h für noich-MFC-Projekte)
    2. Für VC6 gibt es mehrere Alternativen
      a) WTL (Windows Template Library): setzt auf der ATL auf und enthält einen CString-Clone
      b) Auf CodeGuru gibt es irgendwo ein macro, mit dem man die CString-Sourcen "separieren" kann (wg. der VC6-lizenz darf der CXode nich separsat gepostet werden 🙄 )
      c) Hab auch schon CString-"emulatoren" mit std::string gesehen

Anmelden zum Antworten