Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Plaud NotePin S, il registratore IA si fa indossabile (ma è facile da perdere)
Plaud NotePin S, il registratore IA si fa indossabile (ma è facile da perdere)
Quattro modi di indossarlo, stessa app del Plaud Note Pro e integrazione con il desktop. Il registratore IA da indossare di Plaud eccelle in mobilità, ma resta vincolato all'abbonamento ed è facile da perdere
Redmi Watch 6 in prova: lo smartwatch con ampio display da 2000 nit a meno di 100 euro
Redmi Watch 6 in prova: lo smartwatch con ampio display da 2000 nit a meno di 100 euro
Xiaomi ha portato Redmi Watch 6 anche sul mercato italiano, puntando su un display AMOLED da 2,07 pollici con picco di luminosità a 2000 nit, frame in alluminio da 9,9mm e un'autonomia dichiarata di 12 giorni. Lo smartwatch gira su HyperOS 3 e integra GPS, Bluetooth 5.4 e oltre 150 sport mode. Il tutto a meno di 100 euro
Mad Catz M.M.O. 7+: lo stesso DNA del R.A.T. 8+ ADV, ma con molti più pulsanti
Mad Catz M.M.O. 7+: lo stesso DNA del R.A.T. 8+ ADV, ma con molti più pulsanti
Con 22 tasti, il pulsante 5D, lo Shift Mode e il sensore PixArt 3395 da 26.000 DPI, il nuovo mouse wireless di Mad Catz si rivolge in modo preciso ai giocatori di MMO e RPG. Ma chi conosce già il R.A.T. 8+ ADV si accorgerà subito di quanto i due prodotti condividano, e di dove invece divergono
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 09-12-2007, 19:55   #1
Tyler Darden
Member
 
Iscritto dal: Apr 2006
Messaggi: 59
[C] - Passaggio di argv[] a una funzione

Sto cercando di fare una bozza, ma ho problemi sui puntatori. Mi date una mano?

Codice:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int Controllo1(char argv[]);

int main(int argc, char *argv[]){

int i;

switch(argc){
  
  case 2: i = Controllo1(argv[1]);
          if(i == 0) printf("OK\n");
          else printf("KO\n");
          return 0;

  default: printf("default\n");
           return 0;

}
}

int Controllo1(char argv[]){
  if(strcmp(argv[1], "c") == 0)
    return 0;
  else
    return 1;
}
Ciao.

Ultima modifica di Tyler Darden : 09-12-2007 alle 20:43.
Tyler Darden è offline   Rispondi citando il messaggio o parte di esso
Old 09-12-2007, 20:30   #2
vizzz
Senior Member
 
L'Avatar di vizzz
 
Iscritto dal: Mar 2006
Città: Bergamo
Messaggi: 2499
passandogli argv[1] passi un singolo char * alla funzione
__________________
ho concluso con: kvegeta, doctordb, Leland Gaunt.
vizzz è offline   Rispondi citando il messaggio o parte di esso
Old 09-12-2007, 20:31   #3
ilsensine
Senior Member
 
L'Avatar di ilsensine
 
Iscritto dal: Apr 2000
Città: Roma
Messaggi: 15625
argv[1] è un char *, non un char **.
Inoltre tieni conto che argv va da argv[0]...argv[argc-1], quindi argv[1] c'è se argc>1.
__________________
0: or %edi, %ecx; adc %eax, (%edx); popf; je 0b-22; pop %ebx; fadds 0x56(%ecx); lds 0x56(%ebx), %esp; mov %al, %al
andeqs pc, r1, #147456; blpl 0xff8dd280; ldrgtb r4, [r6, #-472]; addgt r5, r8, r3, ror #12
ilsensine è offline   Rispondi citando il messaggio o parte di esso
Old 09-12-2007, 20:39   #4
Tyler Darden
Member
 
Iscritto dal: Apr 2006
Messaggi: 59
si si so come lavora argv[] solo che ho problema sul punatore che passo alla funzione o alla strcmp infatti mla shell mi ritorna questo errore:

prova.c: In function ‘Controllo1’:
prova.c:25: warning: passing argument 1 of ‘strcmp’ makes pointer from integer without a cast
Tyler Darden è offline   Rispondi citando il messaggio o parte di esso
Old 09-12-2007, 20:42   #5
ilsensine
Senior Member
 
L'Avatar di ilsensine
 
Iscritto dal: Apr 2000
Città: Roma
Messaggi: 15625
In quanto in _quella_ funzione argv[1] è un semplice char.
__________________
0: or %edi, %ecx; adc %eax, (%edx); popf; je 0b-22; pop %ebx; fadds 0x56(%ecx); lds 0x56(%ebx), %esp; mov %al, %al
andeqs pc, r1, #147456; blpl 0xff8dd280; ldrgtb r4, [r6, #-472]; addgt r5, r8, r3, ror #12
ilsensine è offline   Rispondi citando il messaggio o parte di esso
Old 09-12-2007, 20:51   #6
Tyler Darden
Member
 
Iscritto dal: Apr 2006
Messaggi: 59
scusa nn doveva essere un singolo char .. ho erroneamente cancellato dove nn dovevo diciamo che ho una stringa "ciao" ecco il codice:

Codice:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int Controllo1(char * argv);

int main(int argc, char *argv[]){

int i;

switch(argc){
  
  case 2: i = Controllo1(argv[1]);
          if(i == 0) printf("OK\n");
          else printf("KO\n");
          return 0;

  default: printf("default\n");
           return 0;

}
}

int Controllo1(char * argv){
  if(strcmp(argv[1], "ciao"))
    return 0;
  else
    return 1;
}
mi ritorna questo:
copia.c: In function ‘Controllo1’:
copia.c:25: warning: passing argument 1 of ‘strcmp’ makes pointer from integer without a cast
Tyler Darden è offline   Rispondi citando il messaggio o parte di esso
Old 09-12-2007, 20:54   #7
ilsensine
Senior Member
 
L'Avatar di ilsensine
 
Iscritto dal: Apr 2000
Città: Roma
Messaggi: 15625
Continua ad essere un singolo char. C'è ben poca differenza in char *argv e char argv[]
__________________
0: or %edi, %ecx; adc %eax, (%edx); popf; je 0b-22; pop %ebx; fadds 0x56(%ecx); lds 0x56(%ebx), %esp; mov %al, %al
andeqs pc, r1, #147456; blpl 0xff8dd280; ldrgtb r4, [r6, #-472]; addgt r5, r8, r3, ror #12
ilsensine è offline   Rispondi citando il messaggio o parte di esso
Old 09-12-2007, 21:04   #8
Tyler Darden
Member
 
Iscritto dal: Apr 2006
Messaggi: 59
ok ok ... sembra che ho risolto. grazie per essermi stato dietro.
ciao.
Tyler Darden è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Plaud NotePin S, il registratore IA si fa indossabile (ma è facile da perdere) Plaud NotePin S, il registratore IA si fa indoss...
Redmi Watch 6 in prova: lo smartwatch con ampio display da 2000 nit a meno di 100 euro Redmi Watch 6 in prova: lo smartwatch con ampio ...
Mad Catz M.M.O. 7+: lo stesso DNA del R.A.T. 8+ ADV, ma con molti più pulsanti Mad Catz M.M.O. 7+: lo stesso DNA del R.A.T. 8+ ...
Radeon RX 9070 GRE, AMD la porta in tutto il mondo | Recensione Gigabyte Gaming OC Radeon RX 9070 GRE, AMD la porta in tutto il mon...
Reolink OMVI 3i WiFi: videosorveglianza più intelligente e facile da usare Reolink OMVI 3i WiFi: videosorveglianza pi&ugrav...
La AI Mode sarà attiva di default...
Marvel's Wolverine non sarà un op...
Star Wars Zero Company esce ad agosto: n...
Bonus Decoder: fino al 70% di sconto con...
Virtua Fighter è tornato e non &e...
Il ritorno di Fumito Ueda, autore di Sha...
Cooler Master svela GPU Shield, la nuova...
Samsung Galaxy S27 Pro: sarà lui ...
Così Google ha ottimizzato Chrome...
Xiaomi non cambia idea: il display poste...
LG presenta in Italia le gamme TV Micro ...
Sette anni dopo l'annuncio, The Wolf Amo...
'Non avrete aumenti': la decisione shock...
TIM lancia il Pass Mondiali DAZN: 104 pa...
Tesla Roadster, promessa o miraggio? La ...
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: 09:38.


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