tutorials.de Buch-Aktion 05/2012
Like Tree1Danke
  • 1 Beitrag von saftmeister
ERLEDIGT
NEIN
ANTWORTEN
5
ZUGRIFFE
592
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Avatar von brunlorenz
    brunlorenz brunlorenz ist offline *C* & Windows-Freak
    Registriert seit
    May 2010
    Ort
    Zürich (Schweiz)
    Beiträge
    206
    Hallo, ich habe folgendes Problem
    Code cpp:
    1
    
    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
     
    Mein System: Windows 7 64bit, Visual Studio 2010 C++, Ubuntu 10.04, Anjuta (Ich programmiere vorwiegend in Windows)
    Programmiersprache: C
    Wenn mein Beitrag geholfen oder sonst gut war, freue ich mich immer über eine Bewertung oder ein Danke!
    Meine Homepage

  2. #2
    _GST_ Tutorials.de Gastzugang
    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.
     

  3. #3
    Avatar von saftmeister
    saftmeister saftmeister ist offline Der Saft sei mit dir
    tutorials.de Premium-User
    Registriert seit
    May 2006
    Ort
    There is no place like 127.0.0.1
    Beiträge
    3.516
    Er ist schon im richtigen Forum. Du kannst allerdings keine .NET-Klassen auf std::-C++-Klassen runter casten. Das musst du schon konvertieren:

    http://blogs.msdn.com/b/slippman/arc...02/147090.aspx
    brunlorenz bedankt sich. 
    Grüße
    --
    Qualität des Codes wird in WTF's/Min gemessen: Je mehr, desto schlechter der Code ;-)

  4. #4
    _GST_ Tutorials.de Gastzugang
    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.
     

  5. #5
    MCoder MCoder ist offline Mitglied Diamant
    tutorials.de Premium-User
    Registriert seit
    Jul 2005
    Ort
    München
    Beiträge
    2.448
    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
     
    "The three chief virtues of a programmer are: Laziness, Impatience and Hubris."
    --- Larry Wall

  6. #6
    badday badday ist offline Mitglied Brokat
    Registriert seit
    Dec 2009
    Beiträge
    321
    Blog-Einträge
    1
    Hey,

    es handelt sich wie üblich um System::String oder auch String^.
    Hier eine Funktion zum konvertieren in einen std::string: http://www.c-plusplus.de/forum/viewt...is-158664.html

    Gruß,

    badday
     
    Galaxy under Fire - 24/7 Online-Real-Time-Strategy-Game - servers are already running - Wir suchen einen Texturier für 3D-Modelle (bei Interesse einfach PM ;) )

Ähnliche Themen

  1. Antworten: 0
    Letzter Beitrag: 11.01.11, 21:40
  2. CString mittels c_str() als Pointer übergeben?
    Von Cappaja im Forum VisualStudio & MFC
    Antworten: 2
    Letzter Beitrag: 24.06.09, 13:48
  3. Antworten: 4
    Letzter Beitrag: 22.03.06, 20:50
  4. c_str()-Problem
    Von DeChecka im Forum C/C++
    Antworten: 7
    Letzter Beitrag: 24.07.05, 16:52
  5. Antworten: 6
    Letzter Beitrag: 13.06.02, 12:29