[C++] Problem mit c_str()

brunlorenz

*C* & Windows-Freak
Hallo, ich habe folgendes Problem
C++:
temp=this->openFileDialog1->FileName->c_str();
Wenn ich das aufrufe, bekomme ich eine Fehlermeldung, dass c_str() nicht in FileName vorhanden ist, jedoch ist FileName vom Typ System::String^:(
Könnt ihr mir helfen?

VS2010 C++ Express x64
 
Zuletzt bearbeitet von einem Moderator:
Du bist im falschen Forum, es handelt sich dabei um .NET und nicht um C++. System::String ist kein nativer Typ und kann nicht mit std::string verglichen werden.
 
Nein, er ist nicht im richtigen Forum, denn sowohl OpenFileDialog als auch System::String sind alles verwaltete Klassen von .NET, daher gehört es auch in dieses Forum.

System::String in const char* zu bringen ist auch .NET, nämlich Marshal::StringToHGlobalAnsi.
 
Hallo brunlorenz,

ein wenig mehr Informationen wären nicht schlecht. Was hat eigentlich "temp" für einen Typ und warum brauchst du diese Zuweisung? Sofern man nicht gezwungen ist vorhandenen C/C++ - Code mitzunehmen, gibt es kaum einen Grund managed und unmanaged Code zusammenzubringen. Die .NET.Klassenbibliothek bietet Unterstützung für alle möglichen Anwendungsfälle.

Gruß
MCoder
 
Zurück