Win32 in MFC?
-
Hallo,
wie kann ich diese Win32-Konsolenanwendung in MFC einfügen?
int main(int argc, char *argv[]) { char eingabe [20]; FILE *file, *outfile; puts("eingabe:"); scanf("%s",eingabe); fflush(stdin); file = fopen(eingabe, "rb"); (mj2_read_struct(file, &movie))
meine MFC überlegung:
void CExtractorDlg::OnFileopen() { CFileDialog m_ldFile(TRUE); if (m_ldFile.DoModal() == IDOK) { m_input = m_ldFile.GetFileName(); // Dialogfeld aktualisieren UpdateData(FALSE); (mj2_read_struct(m_input, &movie))
mein problem ist das m_input eine CString variable ist aber eine char variable für die weiteren operationen benötigt wird. kann ich die Variable m_input in einem VariablenTyp char einstellen?
-
Du kannst ja auf die internen char* deines CString Objektes Zugreifen. Wenn es z.B. um einen const char* geht, wird das objekt sowieso automatisch gecastet also:
int function(const char* parameter);
...
CString String;
function(String); // Funktioniert, da der cast auf einen const char* überladen ist....wenn du allerdings den Puffer direkt bearbeiten willst oder die Funktion fälschlicherweise einen char* erwartet obwohl dieser in keinem fall bearbeitet wird, dann geht das ganze über die Memberfunktion GetBuffer. also
int function(char* parameter);
...
CString String;
function(String); // Funktioniert nicht!!! kein const char* sondern char*...
statt dessesn function(String.GetBuffer(0)); // Funktioniert... aber unbedingt erst über die Funktionsweise von GetBuffer informieren.