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.


Anmelden zum Antworten