Hi Henrik,
In dem Fall ist es gar keine Umwandlung.
String Klasse von C++ ist nichts anderes als ein Kontainer fuer char *.
aufruf der Methode c_str() liefert Dir "const char *"
Da ist ein Beispiel:
>>> test.cpp
#include <stdio.h>
#include <string>
// Eine Bsp. C-Funktion
void glSetText( const char * t){
printf ( "%s\n", t );
}
int main( int, char** ) {
string s("Text");
glSetText( s.c_str() );
return 0;
}
<<<< test.cpp
g++ test.cpp
Ich hoffe nur, dass die Funktionen "const char *" verlangen und nicht "char*".
Sonst muesstest du je nachdem, wass die Funktion intern macht entw.
nach "char *" casten : (char *)s.c_str()
oder erstmal eine temporaere kopie von dem c-string machen.
Gruss.
Am Mittwoch, 4. Februar 2004 13:58 schrieben Sie:
> ich bin gerade dabei, alle char* aus meinem programm zu entfernen.
> allerdings stolpere ich da �ber ein paar funktionen, welche umbedingt const
> char* bzw char* verlangen. bis jetzt kam ich noch ohne typumwandlung beim
> programmieren aus, doch leider muss ich jetzt irgendwie meine string
> objekte in char* wandel. hat einer ne idee, wie so ne umwandlung ohne viel
> brimborium funktioniert. ich habe mir nat�rlich auch �berlegt, die
> funktionen welche char* verlangen, umzubauen. leider scheitere ich daran,
> das genau diese funktion aus einem tutorial f�r OpenGL kommt, und ich
> eigentlich keinen plan habe, was diese funktionen eigentlich machen. ( ich
> bin da etwas skeptisch, da so wenig code mir lauter super sachen macht
> (textausgabe mit GL) . ich mag keine typ umwandlung. ich denke mir eher
> sollte ich gleich mit den richtigen typen arbeiten, als die ganze zeit was
> umbiegen/wandeln. was zur folge h�tte, die glPrint funktion selbst zu
> verwirklichen. hat einer ne idee, wie ich am besten vorgehen sollte?
>
> henrik
>
> anbei die sorgen-funktionen
--
Valentin Heinitz
[EMAIL PROTECTED]
http://heinitz-it.de
----------------------------------------------------------------------------
PUG - Penguin User Group Wiesbaden - http://www.pug.org