Visualizzazione dei risultati da 1 a 7 su 7

Discussione: [C] Linee di comando

  1. #1
    Utente di HTML.it L'avatar di Alcott
    Registrato dal
    Jul 2003
    Messaggi
    154

    [C] Linee di comando

    Ciao a tutti.
    Mi sono imbattuto in un esercizio:
    scrivere un programma C che legga un programma C e stampi in ordine alfabetico ogni gruppo di nomi di variabili identici per i primi sei caratteri e diversi in qualcuno dei successivi. Fate in modo che 6 sia un parametro stabilito dalla linea di comando.

    Ho questi 2 problemi:
    1) come si fa a passare parametri da linea di comando;
    2) come faccio leggere un programma in C senza usare la lettura da file o scanf. Conviene farlo leggere con getchar o passare anche questo tramite riga di comando (in questo caso come faccio).
    Grazie

  2. #2
    be'..
    per il passaggio di parametri :
    quando dichiari il main cosi':
    codice:
    int main(int argc,char *argv[]){
    ..
    return 0;
    }
    puoi usare argc che ti ritorna il numero di parametri (linea di comando compresa)
    e il vettore di stringhe argv[] che ritorna i parametri:
    argv[0]= linea di comando
    argv[1]= parametro 1 ecc..

    per i file:
    http://forum.html.it/forum/showthrea...hreadid=477366

  3. #3
    Utente di HTML.it L'avatar di Alcott
    Registrato dal
    Jul 2003
    Messaggi
    154
    Una volta dichiarato
    codice:
    int main(int argc,char *argv[])
    {
      ..
       return 0;
    }
    cosa devo scrivere poi per dargli i valori in fase di compilazione(in questo caso il paramentro 6)?

    Ehm... devo dargli l'input SENZA usare file o scanf. Io pensavo appunto a una getchar o sempre tramite linea di comando.
    Voi quale mi consigliate(non necessariamente getchar o linea di comando )?

  4. #4
    Originariamente inviato da Alcott
    Una volta dichiarato
    codice:
    int main(int argc,char *argv[])
    {
      ..
       return 0;
    }
    cosa devo scrivere poi per dargli i valori in fase di compilazione(in questo caso il paramentro 6)?


    Ehm... devo dargli l'input SENZA usare file o scanf. Io pensavo appunto a una getchar o sempre tramite linea di comando.
    Voi quale mi consigliate(non necessariamente getchar o linea di comando )?
    i parametri non si danno in fase di compilazione ma quando si avvia l'eseguibile:
    [CODE]
    eseguibile.exe 6
    [CODE]
    in questo caso argv[1] e' "6\0"
    per il resto non so' cosa dirti..


    la getchar() piglia dallo standard input..
    quindi puoi fare una redirezione type pippo.c|eseguibile.exe
    ma la vedo dura..
    io passerei il nome del file
    nomefile.exe 6 nomefile.c
    e poi andrei tranquillo con la fopen(argv[2]),
    vedi tu

  5. #5
    Utente di HTML.it L'avatar di Alcott
    Registrato dal
    Jul 2003
    Messaggi
    154
    Purtroppo non ho un file.exe.
    Quando compilo il file pippo.c con
    codice:
    cc pippo.c
    mi crea un file a.out.
    E' la stessa cosa di un exe (cioè scrivo ./a.out 6)?

  6. #6
    Utente di HTML.it L'avatar di Alcott
    Registrato dal
    Jul 2003
    Messaggi
    154
    Confermo che è lo stesso
    Ciao e thx

  7. #7
    si, e' lo stesso..
    per dare un nome all' eseguibile basta fare
    codice:
    cc nomefile.c -o nomeeseguibile
    in piu' e' lo stesso ma invece di cc usa gcc.

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.