ERLEDIGT
JA
JA
ANTWORTEN
2
2
ZUGRIFFE
919
919
EMPFEHLEN
-
hallo,
ich habe folgendes Problem das ich einen CString, gewonnen aus dem Dateinamen eines CFileDialogs mittels GetFileName(), als char* überführen möchte. die funktion c_str() sollte dazu in der lage sein, allerdings kann ich diese nicht ordnungsgemäß ausführen. Hat jemand eine Idee wie ich das machen könnte? mein problem ist derzeit, dass beim punkt-operator keine auswahlliste der möglichen befehle angezeigt wird, auch nicht mit STRG + LEER
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
int mats; char mesg[MSG_LEN_S]; char *MatName; if(!oup_ing) { if(OpenWaveOutputDevice(GetSafeHwnd())) { MatName = NULL; CFileDialog loadFile(TRUE, NULL, NULL, NULL, "Mat Files(*.mat)|*.MAT|Wav Files (*.wav|*.WAV||"); if(loadFile.DoModal() == IDOK) { MatName = loadFile.GetFileName().c_str(); mats = MatFiletopRecBuf(MatName); if(mats != 0) { ...........Geändert von Cappaja (23.06.09 um 20:03 Uhr)
-
Hallo Cappaja,
c_str() ist eine Methode der STL-Klasse string. Das in MFC verwendete CString gehört zur ATL und ist etwas komplett anderes. Eine CString-Instanz kann man laut Dokumentation einfach in einen LPCTSTR casten (was einem nullterminierten C-String entspricht).
Grüße, Matthias„Gib einem Menschen einen Fisch, und er wird für einen Tag satt. Lehre ihn Fischen, und er wird ein Leben lang satt.“
“For every complex problem, there is an answer that is short, simple and wrong.”
“Pessimism is safe, but optimism is a lot faster!”
Aktuelles Coding Quiz: #17 - Wörter kreuz und quer
-
Hallo Matthias,
danke erstmal, der Ansatz ging auf jedenfall in die richtige Richtung. LPCTSTR liefert ein const char*, ich benötige allerdings nur ein char*. Habe aus den MSDN noch die Methode GetBuffer(int nMinBufLength) gefunden. Jetzt funktioniert es! Aber nochmals danke, den LPCTSTR-Cast kann ich sicher noch woanders gebrauchen
Code :1 2 3
CString s; s = loadFile.GetFileName(); MatName = s.GetBuffer(255);
gruß cappajaGeändert von Cappaja (25.06.09 um 22:52 Uhr)
Ähnliche Themen
-
C - 2D Array an Funktion übergeben - Pointer
Von Manda im Forum C/C++Antworten: 6Letzter Beitrag: 17.11.09, 14:24 -
Operator überladen, POINTER übergeben ?
Von MFC openGL im Forum C/C++Antworten: 16Letzter Beitrag: 09.01.05, 14:59 -
CString Pointer zweisen
Von Börni234 im Forum C/C++Antworten: 6Letzter Beitrag: 06.01.05, 23:17 -
CList<CString,CString> list; einer Funktion übergeben ?
Von Indian im Forum C/C++Antworten: 15Letzter Beitrag: 26.10.04, 15:06 -
CString von dll dem progamm übergeben
Von Executer im Forum VisualStudio & MFCAntworten: 3Letzter Beitrag: 10.10.04, 20:33





Zitieren

Login






