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:
- In VC7 gehört CStringT zur ATL (#include atlstr.h für noich-MFC-Projekte)
- 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