2010-02-05 19 views
6

invitiamo a consultare il Kernighan Ritchie & esercizio 7,1Come richiamare lo stesso programma con un nome diverso?

Scrivere un programma che converte lettere maiuscole a lettere minuscole o minuscolo a maiuscolo seconda del nome viene richiamata con, ...

Come posso richiamare lo stesso programma con nomi diversi?

sto usando Linux, quindi mi sto invocando un programma compilato semplicemente inserendo:.

$/a.out

Cosa dovrei fare diversamente?

risposta

8

Si dovrebbe creare un collegamento simbolico, o semplicemente copiare l'eseguibile del corso:

In entrambi i

$ ln -s a.out A.out 

o

$ cp a.out A.out 

Poi, nel del main() vostro programma, ispezionare argv[0] di capire Come comportarsi. Questa è una tecnica piuttosto utile, in realtà usata spesso dai software di produzione.

+0

Basta copiare il file, ovviamente. Non avrei mai pensato che sarebbe stato così semplice! Non mi sento stupido. Grazie – Tom

+1

Non dimenticare la scelta di usare un link * hard *: "ln a.out A.out'. Meglio di una copia o di un collegamento simbolico perché esprime la tua intenzione esatta: dai un nome a due file. – dmckee

+0

@dmckee: vero, immagino. Non uso mai i collegamenti fisici, ma sono sicuro. – unwind

2

Si potrebbe semplicemente copiarlo in un file diverso:

cp a.out myprogram1 
cp a.out myprogram2 

Wallah, il programma ha nomi diversi.

+0

+1 per Wallah, non ho mai saputo come è stato scritto prima di – Patrick

+0

grazie. solo non pensavo alla soluzione ovvia! – Tom

+0

@patrick Non sono sicuro di averlo scritto correttamente - ho appena indovinato e sono andato con esso;) –

Problemi correlati