Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 16
  1. #1

    [C] passare argv(argomento di main) a system()

    volevo passare la stringa contenuta in argc a system() ma non è come printf.......la cosa e fattibile


    qui il sorgente che naturalmente non funziona
    si possono passare parametri a system (come si fa????)

    codice:
    #include<stdio.h>
    #include<string.h>
    #include<stdlib.h>
    
    int main(int argc, char * argc[])
    {
    
    
      if(argv!=2){printf ("\n\n\n\n\n\nHai scordato il nome\n\n\n\n");
    
                  int z ;
                  exit(1) ;
                 }
    
    
      else {
          system("dir /d/s > %s",argc);
    
             }
    
    
    
    
            
    }



    grazie

  2. #2
    devi creare una stringa dove inserisci il comando e poi con strcat() concateni gli argv[]
    PoWered by:
    Gentoo 1.5.3 - Kernel 2.6.7
    Debian Sid - Kernel 2.6.7 - Bash 3.0
    Slackware current - Kernel 2.6.7

  3. #3
    cmq nel main hai
    main (int argc, char *argv[])
    PoWered by:
    Gentoo 1.5.3 - Kernel 2.6.7
    Debian Sid - Kernel 2.6.7 - Bash 3.0
    Slackware current - Kernel 2.6.7

  4. #4
    si ma come faccio a passare la stringa system();

    system("",)


    come faccio

    spiegati meglio
    sono duro di testa

    grazieeeeeee

  5. #5
    char str[] = "miopgm.exe par1 par2"
    system (str);
    PoWered by:
    Gentoo 1.5.3 - Kernel 2.6.7
    Debian Sid - Kernel 2.6.7 - Bash 3.0
    Slackware current - Kernel 2.6.7

  6. #6
    volevo dire no so passare una stringa ho un qualsiasi valore contenuto in una variabile a system()



    help

  7. #7
    grazieeeeeeeeeeeeee

  8. #8
    tu a system() passi una stringa... system("dir");
    quindi e' possibile dire system(str);

    sono uguali...
    PoWered by:
    Gentoo 1.5.3 - Kernel 2.6.7
    Debian Sid - Kernel 2.6.7 - Bash 3.0
    Slackware current - Kernel 2.6.7

  9. #9
    nel caso di argv[] dovresti fare una cosa del genere...

    codice:
    char str[222] = "dir";
    
    for (i=0; i < argc; i++) {
        strcat (str, argv[i]);
    }
    
    system (str);
    PoWered by:
    Gentoo 1.5.3 - Kernel 2.6.7
    Debian Sid - Kernel 2.6.7 - Bash 3.0
    Slackware current - Kernel 2.6.7

  10. #10
    Originariamente inviato da kNemo
    nel caso di argv[] dovresti fare una cosa del genere...

    codice:
    char str[222] = "dir";
    
    for (i=0; i < argc; i++) {
        strcat (str, argv[i]);
    }
    
    system (str);
    i devi farla partire da 1 (argv[0] è il nome del programma), e la variabile str deve essere = "dir ", con lo spazio.

    Per il resto tutto ok :P

    ciao :mavieni:

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.