Probleme bei Parametern in Anführungszeichen
-
Hallo,
ich bekomme bei Befehlsparamtern, die in Anführungszeichen stehen immer eine Fehlermeldung der Art " Konvertierung des Parameters 1 von 'const char [12]' in ... nicht möglich".
Dies tritt z.B. hier auf:
CFile datei( "C:\\demo.txt", CFile::modeCreate | CFile::modeWrite );oder bei diesem Befehl:
str.Format("%d",m_intSlider1)Kann hier jemand weiterhelfen??
-
Bitte...kennt da keiner eine Antwort? Liegt vielleicht an nem vergessenen Header oder so. Ich bräuchte die Lösung dringend bis morgen
, wäre also für schnelle Hilfe sehr sehr dankbar

-
Etwas merkwürdig ist das schon. In was muss es denn umgewandelt werden? Manchmal (z.B. bei COM) wird BSTR (=LPCWSTR) erwartet.
Kurze Stichworte: ANSI, UNICODE
Schau Dir mal folgende Funktion an: CString.AllocSysString();
http://www.flounder.com/cstring.htm
CString s; s = ... ; // whatever BSTR b = s.AllocSysString();Siehe auch http://www.henkessoft.de/C++/MFC/mfc_einsteigerbuch_kapitel3.htm
Ich hoffe, dass dies weiter hilft. Wenn nein, bitte komplette Fehlermeldung posten.
-
Aus Henkesoft habe ich eben dieses Beispiel übernommen...
dann kommt die MeldungFehler 2 error C2664: 'CFile::CFile(LPCTSTR,UINT)': Konvertierung des Parameters 1 von 'const char [12]' in 'LPCTSTR' nicht möglich
-
Hilfesuchender Newbie schrieb:
CFile datei( "C:\\demo.txt", CFile::modeCreate | CFile::modeWrite );
oder bei diesem Befehl:
str.Format("%d",m_intSlider1)Die MFC verwendet die TCHAR-Varianten der Methoden. Du musst also folgendes schreiben:
CFile datei(_T("C:\\demo.txt"), CFile::modeCreate | CFile::modeWrite ); // bzw. str.Format(_T("%d"), m_intSlider1)
-
Jetzt gehts....vielen Dank

-
Du kannst auch mal probieren bei den Projektstandards Multibyte einzustellen.