|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Junior Member
Iscritto dal: May 2005
Messaggi: 23
|
[C] argv e caratteri speciali
Ciao!
Io dovrei fare un programmino che, passando da shell i numeri e l'operando, svolga l'operazione. Il problema è che facendo 3 & 5 (per il modulo), lui considera 5 un nuovo comando di shell! Come devo fare? |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Sep 2004
Messaggi: 3967
|
non vorrei sbagliare, ma l'operando per l'operazione modulo non è "%" ?!?
Poi, hai gestito la funzione main in modo che possa accettare parametri da riga di comando?
__________________
Dai wafer di silicio nasce: LoHacker... il primo biscotto Geek
|
|
|
|
|
|
#3 | |
|
Senior Member
Iscritto dal: Jun 2002
Città: Dublin
Messaggi: 5989
|
Quote:
__________________
C'ho certi cazzi Mafa' che manco tu che sei pratica li hai visti mai! |
|
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Aug 1999
Città: Tolmezzo (UD) - Milano
Messaggi: 13744
|
Ma scusa... tu attraverso riga di comando passi solamente gli operandi... il calcolo del resto lo puoi fare all'interno del programma. Ricordati comunque che i parametri contenuti in argv sono stringhe e quindi devi convertirli in interi se vuoi farci operazioni sopra (ad esempio con la funzione atoi).
Ciao
__________________
...to go where no one has gone before. One ring to rule them all, one ring to find them, one ring to bring them all and in darkness bind them. Caron, non ti crucciare: vuolsi così colà dove si puote ciò che si vuole, e più non dimandare. |
|
|
|
|
|
#5 | |
|
Senior Member
Iscritto dal: Mar 2004
Messaggi: 1455
|
Quote:
__________________
Ciao ~ZeRO sTrEsS~ |
|
|
|
|
|
|
#6 |
|
Senior Member
Iscritto dal: Jun 2002
Città: Dublin
Messaggi: 5989
|
Ah, ora capisco. Be', in tal caso devi verificare gli argomenti uno alla volta e convertire in numeri quelli che ti interessano.
__________________
C'ho certi cazzi Mafa' che manco tu che sei pratica li hai visti mai! |
|
|
|
|
|
#7 | |
|
Senior Member
Iscritto dal: Mar 2005
Messaggi: 1653
|
Quote:
$ ./calcola "27 * 3", quello passato venga preso come un singolo argomento di tipo *char anziche' come 3 diversi argomenti (operando,operatore,operando). Sbaglio? Con la shell sto messo un po' male... Gica
__________________
gica78r@ncc-1701:~$ tar -c tar: Codardamente mi rifiuto di creare un archivio vuoto |
|
|
|
|
|
|
#8 | |
|
Senior Member
Iscritto dal: Mar 2005
Messaggi: 1653
|
Quote:
Ora, chiarito il fatto che l'operatore modulo di e' '%' e non '&', se anche per qualche motivo dovessi passare il carattere '&' come argomento, basta farlo precedere dal carattere '\'. Dico bene o dico giusto? Ciao
__________________
gica78r@ncc-1701:~$ tar -c tar: Codardamente mi rifiuto di creare un archivio vuoto |
|
|
|
|
|
|
#9 |
|
Senior Member
Iscritto dal: Jun 2002
Città: Dublin
Messaggi: 5989
|
Gica, c'hai preso in pieno. Ora la domanda è: qual'è la shell? Se sta utilizzando Linux, allora è probabile che sia BASH, quindi basterebbe il carattere di escape. Con altri sistemi non saprei/non ricordo.
__________________
C'ho certi cazzi Mafa' che manco tu che sei pratica li hai visti mai! |
|
|
|
|
|
#10 | |
|
Senior Member
Iscritto dal: Jun 2002
Città: Dublin
Messaggi: 5989
|
Quote:
__________________
C'ho certi cazzi Mafa' che manco tu che sei pratica li hai visti mai! |
|
|
|
|
|
|
#11 | |
|
Senior Member
Iscritto dal: Mar 2005
Messaggi: 1653
|
Quote:
Riguardo al carattere di escape: giusta osservazione! Ho dato per scontato che stesse usando bash e Linux... Gica
__________________
gica78r@ncc-1701:~$ tar -c tar: Codardamente mi rifiuto di creare un archivio vuoto |
|
|
|
|
|
|
#12 | ||
|
Senior Member
Iscritto dal: Jun 2002
Città: Dublin
Messaggi: 5989
|
Quote:
Quote:
__________________
C'ho certi cazzi Mafa' che manco tu che sei pratica li hai visti mai! |
||
|
|
|
|
|
#13 |
|
Junior Member
Iscritto dal: May 2005
Messaggi: 23
|
Grazie
Sì, scusate, uso Linux. Cmq: 1) Causa stordimento del prof mi tocca fargli passare 3 & 5 e poi dirgli che faccia 3 % 5 (Meglio non commentare...) 2)Purtroppo il testo dell'esercizio chiede di fare attenzione ai caratteri che "hanno un significato speciale per la shell" (Parole testuali. Io non capisco... credo che quindi il backslash o le virgolette non vadano bene, ma non so.) |
|
|
|
|
|
#14 | |
|
Senior Member
Iscritto dal: Mar 2005
Messaggi: 1653
|
Quote:
se cosi' fosse, quell' & e' messo li apposta per creare casini e farti trovare il modo di risolvere il problema... Non saprei. Se operatori e operandi li devi passare per forza da riga di comando, oltre all' uso del backslash non saprei cosa suggerire... Se mi viene in mente qualcosa, ti fo sapere. Chissa', magari e' una cavolata, ma al momento non mi sovviene... Gica
__________________
gica78r@ncc-1701:~$ tar -c tar: Codardamente mi rifiuto di creare un archivio vuoto |
|
|
|
|
|
|
#15 | |
|
Moderatore
Iscritto dal: Nov 2003
Messaggi: 16214
|
Quote:
Un modo per dire alla shell di non fare questa distinzione, è farli precedere da un backslash: perciò "\&" per passare un ampersand, "\\" per passare un backslash, ecc. Solo che questo devi farlo tu in fase di input.
__________________
Ubuntu è un'antica parola africana che significa "non so configurare Debian" Scienza e tecnica: Matematica - Fisica - Chimica - Informatica - Software scientifico - Consulti medici REGOLAMENTO DarthMaul = Asus FX505 Ryzen 7 3700U 8GB GeForce GTX 1650 Win10 + Ubuntu |
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 23:22.











se cosi' fosse, quell' & e' messo li apposta per creare casini e farti trovare il modo di risolvere il problema... Non saprei. Se operatori e operandi li devi passare per forza da riga di comando, oltre all' uso del backslash non saprei cosa suggerire... Se mi viene in mente qualcosa, ti fo sapere. Chissa', magari e' una cavolata, ma al momento non mi sovviene...








