View Full Version : [C] Problema banale
caustico
09-01-2008, 18:43
buonasera a tutti, questo è il mio primo messaggio di una lunga serie in questa sezione. . .devo realizzare uno spider in c, ma priamo di tutto quello che non riesco a fare è una cosa che reputo banale ma che mi ha bloccato tutto il giorno (ok, dimenticavo di dire che in c sono una pippa). . .l'idea è quella di realizzare un programma al quale passare da linea di comando il nome di un file (quindi faccio ./a.out nome_file_input); e nel caso in cui questo non venga passato abbia come prima istruzione un "inserisci il nome del file" con relativo controllo se esiste oppure no e in questo caso RIrichiedere il nome del file. . .il tutto senza uscire dall'esecuzione del programma. . .ovviamente vorrei fare qualcosa di pulito usando un paio di funzioni ben fatte per fare tutti i relativi controlli. . .ne ho pensate di tutti i colori ma non me ne funziona una. . .spero di essermi spiegato, se qualcuno puo' illuminarmi ne sarei grato!
Spero che ti sia di aiuto
http://www.cs.caltech.edu/courses/cs11/material/c/mike/misc/cmdline_args.html
In pseudocodice
IF dim_arg==1
nome_file = arg[0];
ELSE
nome_file = leggi_standard_input;
WHILE non_esiste_il_file
nome_file = leggi_standard_input;
Ovviamente si può migliorare la lettura singola dallo standard input...
Ziosilvio
10-01-2008, 09:35
.l'idea è quella di realizzare un programma al quale passare da linea di comando il nome di un file (quindi faccio ./a.out nome_file_input); e nel caso in cui questo non venga passato abbia come prima istruzione un "inserisci il nome del file" con relativo controllo se esiste oppure no e in questo caso RIrichiedere il nome del file. . .il tutto senza uscire dall'esecuzione del programma
A main puoi passare i due parametri argc (numero di argomenti della riga di comando) e argv (vettore di stringhe, ciascuna contenente uno dei parametri).
argv può avere argc argomenti, oppure argc+1 di cui l'ultimo nullo.
argv[0] è sempre il nome con cui è stato chiamato il programma.
fopen restituisce NULL se, per qualche motivo, non è possibile aprire il file richesto nella modalità voluta.
vorrei fare qualcosa di pulito usando un paio di funzioni ben fatte
Allora devi studiare bene le funzioni per la manipolazione di stringhe, dichiarate nell'header string.h.
caustico
10-01-2008, 19:07
grazie a tutti, ho risolto "giocando" con argv
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.