C: Befehl system mit array



  • Also ich will die funktion system mit einem array als parameter laufen lassen
    ,aber wenn ich parameter habe die aus zwei teilen bestehen (allso fast alle)
    trennt es diese zwei teile eifach : zB wenn man cd .. verwenden will will es
    als erstes cd ausführen und dann ..

    Hier habt ihr den Testcode:
    `

    #include <stdio.h>

    #include <stdlib.h>

    int main(int argc, char *argv[])

    {

    char txt[64];

    for(;;)

    {

    scanf("%s",&txt[0]);

    system (txt);
    

    }

    system("PAUSE");

    return 0;

    }

    `

    Danke im vor-raus 😃



  • Das liegt daran, dass %s bis zu einem Whitespace (Leerzeichen, Tabulator, CR, ...) liest.
    Du kannst einen String mit Leerzeichen mit fgets() einlesen.

    Ein Array übergibt man mit dem Arraynamen (bei dir txt) und nicht *txt[0].

    Nutze die cpp-Tags. (Text markieren und C/C++ Button unter 🙂 😃 anklicken.

    Du kannst den Bindestrich umgehen, indem du das Wort richtig schreibst.
    Frag den Duden



  • Über den Sinn und Zweck deiner Endlosschleife

    for(;;)
    

    hast du dich auch noch nicht geäußert.


Anmelden zum Antworten