Torna indietro   Hardware Upgrade Forum > Software > Programmazione

In sella alla Fiido Nomads Pro: e-bike con motore centrale da 100 Nm per il divertimento a 360 gradi
In sella alla Fiido Nomads Pro: e-bike con motore centrale da 100 Nm per il divertimento a 360 gradi
Abbiamo assemblato e provato la Fiido Nomads Pro, evoluzione del modello da trekking già presente nella gamma, che migliora in tutto, soprattutto grazie al motore centrale, fluido e potente. Ottima app, costruzione solida e prezzo ok completano il quadro
ASUS Zenbook 14 (UX3480AA): tanta autonomia con uno chassis bello e robusto
ASUS Zenbook 14 (UX3480AA): tanta autonomia con uno chassis bello e robusto
Lo chassis in Ceraluminium è il cuore di questo notebook in edizione 2026, un modello pensato per garantire produttività con le tipiche applicazioni di produttività personale e capace di offrire un'autonomia di funzionamento lontano dalla presa di corrente da riferimento. Potenza, facilità di trasporto e costruzione robusta tutto in un notebook compatto.
MSI PRO MAX: QD-OLED ultrawide per lavorare, creare e giocare
MSI PRO MAX: QD-OLED ultrawide per lavorare, creare e giocare
MSI PRO MAX 341QPXW14G è un monitor ultrawide da 34 pollici che porta la tecnologia QD-OLED di quinta generazione in un contesto principalmente orientato alla produttività. La qualità dell'immagine è elevatissima, il formato 21:9 è ideale per il multitasking e la dotazione di porte trasforma il monitor in un vero hub per Mac, PC e dispositivi mobili. Il limite principale è invece il refresh rate di soli 144 Hz, che lo allontana dai giocatori competitivi più esigenti
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 09-06-2005, 13: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, 14: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, 14: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, 16: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, 16: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, 16: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, 17: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, 17: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, 14: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, 14: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, 15: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, 15: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, 16: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, 17: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, 20:46   #15
Ziosilvio
Moderatore
 
L'Avatar di Ziosilvio
 
Iscritto dal: Nov 2003
Messaggi: 16215
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


In sella alla Fiido Nomads Pro: e-bike con motore centrale da 100 Nm per il divertimento a 360 gradi In sella alla Fiido Nomads Pro: e-bike con motor...
ASUS Zenbook 14 (UX3480AA): tanta autonomia con uno chassis bello e robusto ASUS Zenbook 14 (UX3480AA): tanta autonomia con ...
MSI PRO MAX: QD-OLED ultrawide per lavorare, creare e giocare MSI PRO MAX: QD-OLED ultrawide per lavorare, cre...
Samsung Micro RGB R95H, il primo LCD a LED rossi, verdi e blu di Samsung alla prova del banco di misura Samsung Micro RGB R95H, il primo LCD a LED rossi...
iPhone 18 Pro: la recensione del miglior iPhone compatto di sempre iPhone 18 Pro: la recensione del miglior iPhone ...
Rivoluzione in arrivo per Xbox su PC: la...
Weekend di offerte Amazon: vano a ruba l...
Quanto costerà la serie Galaxy S2...
Blink ai minimi su Amazon: videocamere M...
Fire TV Stick 4K a 27,99€, Echo Dot a 29...
Samsung e Thierry Henry: svelata la nuov...
Schermo OLED e touch: il MacBook sta per...
Addio conversioni: Google Drive e Docs o...
Arriva il portale di Google che smascher...
Gli iPhone 18 Pro non convincono: Apple ...
NVIDIA torna su macOS con un driver non ...
Engwe ha un modello che è il SUV ...
Le migliori offerte del weekend Amazon: ...
Cina e UE, intesa sulle auto ibride: Pec...
2 lavatrici slim COMFEE’ a 255€ o 280€ s...
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: 16:30.


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