MilkaKuh Geschrieben 2. Juli 2005 Geschrieben 2. Juli 2005 Wie konvertiere ich eine String in einen Char ? Danke Zitieren
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. Zitieren
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 Zitieren
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. Zitieren
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 :-( Zitieren
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? Zitieren
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... Zitieren
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. Zitieren
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. Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.