Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Destiny Rising: quando un gioco mobile supera il gioco originale
Destiny Rising: quando un gioco mobile supera il gioco originale
Tra il declino di Destiny 2 e la crisi di Bungie, il nuovo titolo mobile sviluppato da NetEase sorprende per profondità e varietà. Rising offre ciò che il live service di Bungie non riesce più a garantire, riportando i giocatori in un universo coerente. Un confronto che mette in luce i limiti tecnici e strategici dello studio di Bellevue
Plaud Note Pro convince per qualità e integrazione, ma l’abbonamento resta un ostacolo
Plaud Note Pro convince per qualità e integrazione, ma l’abbonamento resta un ostacolo
Plaud Note Pro è un registratore digitale elegante e tascabile con app integrata che semplifica trascrizioni e riepiloghi, offre funzioni avanzate come template e note intelligenti, ma resta vincolato a un piano a pagamento per chi ne fa un uso intensivo
Google Pixel 10 è compatto e ha uno zoom 5x a 899€: basta per essere un best-buy?
Google Pixel 10 è compatto e ha uno zoom 5x a 899€: basta per essere un best-buy?
Google Pixel 10 è uno smartphone che unisce una fotocamera molto più versatile rispetto al passato grazie allo zoom ottico 5x, il supporto magnetico Pixelsnap e il nuovo chip Tensor G5. Il dispositivo porta Android 16 e funzionalità AI avanzate come Camera Coach, mantenendo il design caratteristico della serie Pixel con miglioramenti nelle prestazioni e nell'autonomia. In Italia, però, mancano diverse feature peculiari basate sull'AI.
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


Destiny Rising: quando un gioco mobile supera il gioco originale Destiny Rising: quando un gioco mobile supera il...
Plaud Note Pro convince per qualità e integrazione, ma l’abbonamento resta un ostacolo Plaud Note Pro convince per qualità e int...
Google Pixel 10 è compatto e ha uno zoom 5x a 899€: basta per essere un best-buy? Google Pixel 10 è compatto e ha uno zoom ...
Prova GeForce NOW upgrade Blackwell: il cloud gaming cambia per sempre Prova GeForce NOW upgrade Blackwell: il cloud ga...
Ecovacs Deebot X11 Omnicyclone: niente più sacchetto per lo sporco Ecovacs Deebot X11 Omnicyclone: niente più...
Interlune creerà un centro di ric...
Stop Killing Games: 97% delle firme conv...
La GTX 2080 Ti mai arrivata sul mercato,...
Hoolow Knight: Silksong, il gioco che a ...
Duolingo crolla in Borsa: la minaccia ar...
Battlefield 6: i giocatori console potra...
Citroen Racing, la marca ritorna alle co...
Windows 10 ESU: come partecipare al prog...
ASUS Vivobook 16X a meno di 470€ su Amaz...
Con Agent Payments Protocol di Google gl...
Windows 10 muore, gli attivisti insorgon...
NVIDIA sarà il primo cliente di T...
Stellantis cancella il pick-up elettrico...
Microsoft termina il supporto per Office...
VaultGemma di Google è il primo L...
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: 20:56.


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