MilkaKuh Geschrieben 2. Juli 2005 Geschrieben 2. Juli 2005 Wie konvertiere ich eine String in einen Char ? Danke
Klotzkopp Geschrieben 2. Juli 2005 Geschrieben 2. Juli 2005 Gar nicht. Ein CString ist eine Zeichenkette, ein char nur ein einzelnes Zeichen, das passt nicht. Falls du char* meinst: Sieh dir mal CString::GetBuffer an.
M.A.Knapp Geschrieben 2. Juli 2005 Geschrieben 2. Juli 2005 Über den Operator LPCSTR dazu: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vcmfc98/html/_mfc_cstring_class_members.asp
Bubble Geschrieben 2. Juli 2005 Geschrieben 2. Juli 2005 Bei dieser Vorgehensweise ist zu beachten, ob CString im verwendeten Umfeld Unicode verwendet oder nicht. Wenn es das tut, erfüllt der char * Zeiger auf die Zeichekette unter Umständen nicht die Erwartungen, da Unicode 2 Byte pro Zeichen verwendet.
MilkaKuh Geschrieben 3. Juli 2005 Autor Geschrieben 3. Juli 2005 Meine Mysqlklasse arbeitet nur mit Char*. Das heißt, dass meine SQL anweisung in einer char* variable stehen muss.. So.. ich will aber mir meinen SQLstring mir dynamisch zusammenbaun.. je nach dem, was ich in einer checkbox auswähle.. und das kann ich doch nur mit CStrings machen.. Das ich an einen bereits vorhandenen string was dranhänge.. ich machs jetzt mit einem CString.. sprich.. sqlsuchstring = "SELECT x from y where z = 1"; kwvon = m_kwvonV.GetString(); if(kwvon.IsEmpty() == false) { sqlsuchstring += " and a.kw >= "; sqlsuchstring += kwvon; } so.. nur wie mach ich jetzt aus diesem string ein char* sorry.. ich kanns einfach net :-(
Klotzkopp Geschrieben 3. Juli 2005 Geschrieben 3. Juli 2005 so.. nur wie mach ich jetzt aus diesem string ein char* sorry.. ich kanns einfach net :-(Bist du danz sicher, dass ein const char* nicht reicht? Falls du nicht UNICODE definiert hast, sollte das automatisch gehen. Wie sieht die Funktion aus, für die zu char* zu brauchen glaubst? Warum hat CString::GetBuffer bzw. CString::operator LPCTSTR nicht funktioniert, bzw. hast du das überhaupt ausprobiert?
MilkaKuh Geschrieben 3. Juli 2005 Autor Geschrieben 3. Juli 2005 MYSQL_RES* autoinfo_db::query(const char *querystring) ja hab ich ausprobiert... oder ich seh den wald vor lauten bäumen nicht...
Bubble Geschrieben 3. Juli 2005 Geschrieben 3. Juli 2005 Du kannst anstatt CString auch std::string aus der STL nehmen. Mit der Methode c_str() kannst Du Dir ganz einfach einen Zeiger auf einen C-String geben lassen. Wenn Dir die maximale Länge der SQL Anfrage bekannt ist, kannst Du auch einen entsprechend großen Buffer anlegen und mit den ganz normalen C-Funktionen den String zusammensetzen.
Klotzkopp Geschrieben 3. Juli 2005 Geschrieben 3. Juli 2005 MYSQL_RES* autoinfo_db::query(const char *querystring)Falls du nicht UNICODE definiert hast, brauchst du da gar nichts umzuwandeln. In diesem Fall hat CString einen Konvertierungsoperator nach const char*. Du kannst also einfach den CString dieser Funktion als Parameter mitgeben.
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden