Diese dummen Leerzeichen!!!Wie umgehen???



  • Also, erstma hallo, ich bin neu hier.

    Ich habe das Problem, dass ich ein Programm schreiben will,
    das wenn ich es ausführe, alle Programme anzeigt, die ich habe und das
    ich eine Nummer klicken muss, um es auszuführen.
    das ist ja schön und gut, aber das erste problem ist, dass ich bei der funktion
    system ("start C:\\Programme\...bla.exe");

    kein leerzeichen verwenden darf. dann kommt ne fehlermeldung.

    wenn ich es mit

    system ("cd C:\\Programme\\Egal\");
    system ("start Bla.exe");

    mache, geht es manchmal, bei manchen aber nicht!!! 😡 😞

    ich bitte um schnelle hilfe!!!!

    hier ist mein jeziger code

    #include <cstdlib>
    #include <iostream>
    
    using namespace std;
    
    int main(int argc, char *argv[])
    {
        START:
        int eingabe;
    
        cout<<"(1) Adobe After Effects CS3\n"
            <<"(2) Adobe Flash CS3\n"
            <<"(3) Canon Solution Menu\n"
            <<"(4) Web2date\n"
            <<"(5) Easy Setup\n"
            <<"(6) Encarta\n";
    
            cin>>eingabe;
    
            switch (eingabe)
            {
                   case 1:
                        system ("cd C:\\Programme\\Adobe\\Adobe After Effects CS3\\Support Files\\");
                        system ("start AfterFX.exe");
                        goto START;
                        break;
    
                   case 2:
                        system ("cd C:\\Programme\\Adobe\\Adobe Flash CS3\\");
                        system ("start Flash.exe");
                        goto START;
                        break;
    
                   case 3:
                        system ("start C:\\Programme\\Canon\\SolutionMenu\\CNSLMAIN.exe");
                        goto START;
                        break;
    
                   case 4:
                        system ("cd C:\\Programme\\DATA BECKER\\web to date\\");
                        system ("start web2date.exe");
                        goto START;
                        break;
    
                    case 5:
                        system ("start C:\\Programme\\EasySetup\\EasySetup.exe");
                        goto START;
                        break;
    
                     case 6:
                        system ("cd C:\\Programme\\Encarta\\Microsoft Encarta 2006 Enzyklopaedie Standard");
                        system (" ENCARTA.exe");
                        goto START;
                        break;
    
        system("PAUSE");
        return EXIT_SUCCESS;
    }
    }
    


  • "cd \"C:\\Programme\\Encarta\\Microsoft Encarta 2006 Enzyklopaedie Standard\""
    

    selbsterklärend hoffe ich.



  • gosha16 schrieb:

    "cd \"C:\\Programme\\Encarta\\Microsoft Encarta 2006 Enzyklopaedie Standard\""
    

    selbsterklärend hoffe ich.

    wenn ich es richtig verstehe, soll ich dien zitat anwenden.

    geht aber nicht!!!!
    da zeigt er an " ENCARTA.exe nicht gefunden



  • na dann mach mal das Leerzeichen vor encarta.exe weg.



  • gosha16 schrieb:

    na dann mach mal das Leerzeichen vor encarta.exe weg.

    dann können die verknüpfungen und das alles aber nicht mehr drauf zugreifen 😡

    es muss doch noch ne andere lösung geben!!!!

    die idee mit cd war ja gut, aber warum klappt das nicht bei allen programmen??? 😮



  • system ("\"C:\\Programme\\Encarta\\Microsoft Encarta 2006 Enzyklopaedie Standard\\ENCARTA.exe\"");
    

    und das geht auch nich?



  • Deine ganzen Aufrufe mit cd bringen nichts.



  • gosha16 schrieb:

    system ("\"C:\\Programme\\Encarta\\Microsoft Encarta 2006 Enzyklopaedie Standard\\ENCARTA.exe\"");
    

    Danke!!!! Das funktioniert wunderbar!!!!!!!!! 🙂 😃 😉



  • warum muss man denn ein "\" davor machen???



  • Weil in dem Pfad Leerzeichen sind, und alles zusammen arg[0] darstellt.


Anmelden zum Antworten