CreateProcess() unter ANSI-C !!!



  • Hallo und Guten Tag,

    ich drucke aus einem ANSI-C Programm auf dem Standard-Drucker aus (unter MS Windows XP Pro und MS Visual C++ 6.0) und das funktioniert ohne Probleme:

    CreateProcess( NULL,
    "\\WINDOWS\\SYSTEM32\\PRINT.EXE \\home\\users\\sheet.txt",
    NULL,
    NULL,
    FALSE,
    NORMAL_PRIORITY_CLASS | CREATE_NO_WINDOW,
    NULL,
    NULL,
    &si,
    &pi )

    F R A G E : ich möchte nun "die 2. Zeile" mit dem Kommando variabel machen und mir vorher einen beliebiges Kommando zusammensetzen, wie geht das 😕 ??? Wohlgemerkt unter ANSI-C und nicht unter C++ 😕 !!!

    MfG

    ZZR-1100



  • ^^ob ansi oder nicht-ansi, du kannst anstelle der stringkonstanten einen char* oder ein array einsetzen.
    🙂



  • Unter Ansi C gibts kein CreateProcess!!!



  • Nochmals Hallo,

    also es ist ein "reines" ANSI-C Programm und läuft unter MS Visual C++ auf Windows XP Pro,

    der Hinweis mit dem char* funktioniert sehr gut (!!!),

    aber nun habe ich entsprechend eine weitere Frage:

    Wie bekomme ich 2 "normale" character strings (char abc1[25], char abc2[25]) in diesen char *cmd_str hinein 😕 ???

    MfG

    ZZR-1100



  • ZZR-1100 schrieb:

    Wie bekomme ich 2 "normale" character strings (char abc1[25], char abc2[25]) in diesen char *cmd_str hinein

    das geht leider nicht. ein char* kann nicht gleichzeitig auf zwei arrays zeigen. ich schätze mal, du willst zwei strings aneinanderhängen - das geht z.b. mit strcat, sprintf und dergleichen.
    🙂



  • Mit strcpy gefolgt von strcat.



  • Nochmals Hallo,

    Vielen Dank für die Hinweise, nun funktioniert es problemlos !!!

    MfG

    ZZR-1100



  • ZZR-1100 schrieb:

    Nochmals Hallo,

    also es ist ein "reines" ANSI-C Programm und läuft unter MS Visual C++ auf Windows XP Pro,

    nein, ist es nicht, weil CreateProcess nicht im Standard definiert ist.



  • supertux schrieb:

    ZZR-1100 schrieb:

    Nochmals Hallo,

    also es ist ein "reines" ANSI-C Programm und läuft unter MS Visual C++ auf Windows XP Pro,

    nein, ist es nicht, weil CreateProcess nicht im Standard definiert ist.

    du bist aber pingelig heute. ok, er hätte das "reine" vielleicht nicht so betonen sollen.
    🙂



  • ZZR-1100 schrieb:

    nun funktioniert es problemlos !!!

    Damit ist der Thread erledigt. Es müssen jetzt nicht noch mal 5 Leute wiederholen, daß CreateProcess kein Ansi C ist. Danke. 🙄



  • supertux schrieb:

    ZZR-1100 schrieb:

    also es ist ein "reines" ANSI-C Programm und läuft unter MS Visual C++ auf Windows XP Pro,

    nein, ist es nicht, weil CreateProcess nicht im Standard definiert ist.

    Soll man also als Funktionsbezeichner nur Bezeichner nehmen, die im Standard definiert sind? 😮


Anmelden zum Antworten