Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Recensione Samsung Galaxy S26 Ultra: finalmente qualcosa di nuovo
Recensione Samsung Galaxy S26 Ultra: finalmente qualcosa di nuovo
Per diversi giorni il Galaxy S26 Ultra di Samsung è stato il nostro compagno di vita. Oltre alle conferme del colosso coreano come la qualità del display e una suite AI senza rivali, arriva il Privacy Display, un unicum nel mondo smartphone. Ci sono ancora alcuni gap che non sono riusciti a colmare lato batteria e fotocamera, seppur con alcuni miglioramenti.
Diablo II Resurrected: il nuovo DLC Reign of the Warlock
Diablo II Resurrected: il nuovo DLC Reign of the Warlock
Abbiamo provato per voi il nuovo DLC lanciato a sorpresa da Blizzard per Diablo II: Resurrected e quella che segue è una disamina dei nuovi contenuti che abbiamo avuto modo di sperimentare nel corso delle nostre sessioni di gioco, con particolare riguardo per la nuova classe dello Stregone
Deep Tech Revolution: così Area Science Park apre i laboratori alle startup
Deep Tech Revolution: così Area Science Park apre i laboratori alle startup
Siamo tornati nel parco tecnologico di Trieste per il kick-off del programma che mette a disposizione di cinque startup le infrastrutture di ricerca, dal sincrotrone Elettra ai laboratori di genomica e HPC. Roberto Pillon racconta il modello e la visione
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 09-06-2005, 14:52   #1
diadhuit
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?
diadhuit è offline   Rispondi citando il messaggio o parte di esso
Old 09-06-2005, 15:00   #2
RaouL_BennetH
Senior Member
 
L'Avatar di RaouL_BennetH
 
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
RaouL_BennetH è offline   Rispondi citando il messaggio o parte di esso
Old 09-06-2005, 15:27   #3
DanieleC88
Senior Member
 
L'Avatar di DanieleC88
 
Iscritto dal: Jun 2002
Città: Dublin
Messaggi: 5989
Quote:
Originariamente inviato da RaouL_BennetH
non vorrei sbagliare, ma l'operando per l'operazione modulo non è "%" ?!?
Infatti non sbagli. Ora la domanda è: diadhuit, ma che ca**o vuoi fare? Scusami, ma proprio non ho capito cosa intendi. Spiegati meglio e proverò ad aiutarti.
__________________

C'ho certi cazzi Mafa' che manco tu che sei pratica li hai visti mai!
DanieleC88 è offline   Rispondi citando il messaggio o parte di esso
Old 09-06-2005, 17:29   #4
Marinelli
Senior Member
 
L'Avatar di Marinelli
 
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.
Marinelli è offline   Rispondi citando il messaggio o parte di esso
Old 09-06-2005, 17:37   #5
beppegrillo
Senior Member
 
L'Avatar di beppegrillo
 
Iscritto dal: Mar 2004
Messaggi: 1455
Quote:
Originariamente inviato da DanieleC88
Infatti non sbagli. Ora la domanda è: diadhuit, ma che ca**o vuoi fare? Scusami, ma proprio non ho capito cosa intendi. Spiegati meglio e proverò ad aiutarti.
Vuole che il programma accetti come argomenti : operando operatore operando ed elaborando questi parametri restituisca il risultato.
__________________
Ciao ~ZeRO sTrEsS~
beppegrillo è offline   Rispondi citando il messaggio o parte di esso
Old 09-06-2005, 17:44   #6
DanieleC88
Senior Member
 
L'Avatar di DanieleC88
 
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!
DanieleC88 è offline   Rispondi citando il messaggio o parte di esso
Old 09-06-2005, 18:05   #7
Gica78R
Senior Member
 
L'Avatar di Gica78R
 
Iscritto dal: Mar 2005
Messaggi: 1653
Quote:
Originariamente inviato da DanieleC88
Ah, ora capisco. Be', in tal caso devi verificare gli argomenti uno alla volta e convertire in numeri quelli che ti interessano.
Si, pero' prima deve evitare che la shell interpreti quello che immette da riga di comando... Non so se le virgloette sono sufficienti... immagino che dando un comando tipo
$ ./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
Gica78R è offline   Rispondi citando il messaggio o parte di esso
Old 09-06-2005, 18:09   #8
Gica78R
Senior Member
 
L'Avatar di Gica78R
 
Iscritto dal: Mar 2005
Messaggi: 1653
Quote:
Originariamente inviato da Gica78R
Si, pero' prima deve evitare che la shell interpreti quello che immette da riga di comando... Non so se le virgloette sono sufficienti... immagino che dando un comando tipo
$ ./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
Meglio ancora... se devi inserire caratteri speciali come parametri di un programma, basta usare il carattere di escape (\), si chiama cosi', no? Me ne ero dimenticato...
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
Gica78R è offline   Rispondi citando il messaggio o parte di esso
Old 10-06-2005, 15:06   #9
DanieleC88
Senior Member
 
L'Avatar di DanieleC88
 
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!
DanieleC88 è offline   Rispondi citando il messaggio o parte di esso
Old 10-06-2005, 15:08   #10
DanieleC88
Senior Member
 
L'Avatar di DanieleC88
 
Iscritto dal: Jun 2002
Città: Dublin
Messaggi: 5989
Quote:
Originariamente inviato da Gica78R
[...] un singolo argomento di tipo *char anziche' come 3 diversi argomenti [...]
Ah, intendevi forse char *?
__________________

C'ho certi cazzi Mafa' che manco tu che sei pratica li hai visti mai!
DanieleC88 è offline   Rispondi citando il messaggio o parte di esso
Old 10-06-2005, 16:22   #11
Gica78R
Senior Member
 
L'Avatar di Gica78R
 
Iscritto dal: Mar 2005
Messaggi: 1653
Quote:
Originariamente inviato da DanieleC88
Ah, intendevi forse char *?
Esatto... E dire che avevo seguito un po' anche quella tua famosa discussione su dove mettere l'asterisco nelle dichiarazioni. Di tutti i posti possibili, io l'ho messo dove proprio non va!
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
Gica78R è offline   Rispondi citando il messaggio o parte di esso
Old 10-06-2005, 16:52   #12
DanieleC88
Senior Member
 
L'Avatar di DanieleC88
 
Iscritto dal: Jun 2002
Città: Dublin
Messaggi: 5989
Quote:
Originariamente inviato da Gica78R
Esatto... E dire che avevo seguito un po' anche quella tua famosa discussione su dove mettere l'asterisco nelle dichiarazioni. Di tutti i posti possibili, io l'ho messo dove proprio non va!
È strano che quella discussione abbia avuto successo. Sicuramente è stato l'intervento di fek a renderla interessante. Quell'uomo è un mito.
Quote:
Originariamente inviato da Gica78R
Riguardo al carattere di escape: giusta osservazione! Ho dato per scontato che stesse usando bash e Linux...
Se usi Linux è normale, BASH è di una comodità straordinaria.
__________________

C'ho certi cazzi Mafa' che manco tu che sei pratica li hai visti mai!
DanieleC88 è offline   Rispondi citando il messaggio o parte di esso
Old 10-06-2005, 17:44   #13
diadhuit
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.)
diadhuit è offline   Rispondi citando il messaggio o parte di esso
Old 10-06-2005, 18:59   #14
Gica78R
Senior Member
 
L'Avatar di Gica78R
 
Iscritto dal: Mar 2005
Messaggi: 1653
Quote:
Originariamente inviato da diadhuit
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.)
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
Gica78R è offline   Rispondi citando il messaggio o parte di esso
Old 10-06-2005, 21:46   #15
Ziosilvio
Moderatore
 
L'Avatar di Ziosilvio
 
Iscritto dal: Nov 2003
Messaggi: 16214
Quote:
Originariamente inviato da diadhuit
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.)
Infatti: caratteri come backslash, ampersand ("e" commerciale, Shift+6 sulla tastiera italiana) e simili, nonché sequenze particolari (come "&&") non vengono interpretati dalla shell come parametri da passare al programma chiamato.
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" Chi scherza col fuoco si brucia.
Scienza e tecnica: Matematica - Fisica - Chimica - Informatica - Software scientifico - Consulti medici
REGOLAMENTO DarthMaul = Asus FX505 Ryzen 7 3700U 8GB GeForce GTX 1650 Win10 + Ubuntu
Ziosilvio è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Recensione Samsung Galaxy S26 Ultra: finalmente qualcosa di nuovo Recensione Samsung Galaxy S26 Ultra: finalmente ...
Diablo II Resurrected: il nuovo DLC Reign of the Warlock Diablo II Resurrected: il nuovo DLC Reign of the...
Deep Tech Revolution: così Area Science Park apre i laboratori alle startup Deep Tech Revolution: così Area Science P...
HP OMEN MAX 16 con RTX 5080: potenza da desktop replacement a prezzo competitivo HP OMEN MAX 16 con RTX 5080: potenza da desktop ...
Recensione Google Pixel 10a, si migliora poco ma è sempre un'ottima scelta Recensione Google Pixel 10a, si migliora poco ma...
Le analisi di ALMA sulla cometa interste...
La missione cinese Tianwen-3 per portare...
Un satellite di HEO Space ha catturato u...
Mini LED 144Hz a prezzo folle: questo Hi...
Novità per Fortinet: arrivano For...
Volkswagen e Xpeng, il SUV è real...
Volkswagen ribattezza ID.3 e le dà un mo...
Aruba rende disponibile VMware Hosted Pr...
Questa Olympus da 20 MP con stabilizzazi...
Il nuovo dispositivo di Rabbit si chiama...
'Se avete RAM, siamo pronti ad acquistar...
Veeam corregge diverse vulnerabilit&agra...
MacBook Neo segna una svolta per Apple: ...
Polestar pubblica il report LCA di Poles...
Il rame non basta più: NVIDIA, AM...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 23:22.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v