Oggi è 17/06/2025, 14:28

Tutti gli orari sono UTC + 1 ora [ ora legale ]



Regole del forum


- Dare titoli sensati, non titoli tipo "Aiuto" oppure "Problema", i topic analoghi verranno immediatamente chiusi.
- Utilizzare http://www.pastebin.com per script superiori a 20 righe.



 Pagina 1 di 1 [ 5 messaggi ] 

  Apri un nuovo argomento Questo argomento è bloccato, non puoi modificare o inviare ulteriori messaggi.

  Stampa pagina

Autore Messaggio
 Oggetto del messaggio: [RISOLTO][HELP]Doppio strlen
MessaggioInviato: 22/02/2011, 17:18 
Avatar utente
Utente

Iscritto il: 22/12/2010
Messaggi: 1098
Località: Agrigento (Sicilia)
Favourite GTA: San Andreas
Xfire: In PM

Karma
0


Non connesso
Salve Center. Poco fa stavo facendo un comando "/setscores" che, come dice esso, dovrebbe settare il punteggio. L'ho strutturato cosi:

Codice:
if(!strcmp(cmd, "/setscores", true))
{
new tmp[256]; tmp = strtok(cmdtext, idx);
new score[256]; score = strtok(cmdtext, idx);
if(!strlen(tmp, score)) return SendClientMessage(...) // E' qui che mi blocco
//E varie funzioni
}


Mi da questo errore:

Codice:
number of arguments does not match definition


E' riferito all'strlen. Allora, per un po' di tempo, usavo questo codice:

Codice:
if(!strcmp(tmp, score, true))


Non ditemi da dove l'ho preso perché nemmeno io lo so. Era verso l'inizio quindi non sapevo, a me importava solo che compilasse. Di compilare compila, ma è ovvio che non funziona visto che strcmp confronta due variabili. Ciò che vi chiedo è se c'è un modo per usare l'strlen o qualche altra funzione per questi tipi di comandi che io chiamo "Doppio strlen".

Non rispondetemi tipo: Usa sscanf che è meglio (o cretinate varie). Voglio solo sapere come farlo senza include e se si può fare. STOP...

RISOLTO. SOLUZIONE:


!strlen serve per controllare se una variabile è vuota. Per fare, nel caso mio, ID e Score bisogna fare:

Codice:
if(!strlen(tmp)) || !strlen(score)) return SendClientMessage(...);


Questo ovviamente, come ho già detto, è nel caso mio.
Si ringrazia barletheking per l'aiuto.

_________________
Immagine


Ultima modifica di mitosking il 22/02/2011, 18:29, modificato 1 volta in totale.

Top
 E-mail  
 

 Oggetto del messaggio: Re: [HELP]Doppio strlen
MessaggioInviato: 22/02/2011, 17:30 
Avatar utente
Moderatore

Iscritto il: 28/10/2010
Messaggi: 919
Località: Veduggio con Colzano (Milano-Monza)
Favourite GTA: San Andreas
PlayStation Network: Nessuno
Xbox Live: Nessuno
Xfire: barle97

Karma
1


Non connesso
strlen(stringa[]).. Returna i char presenti in una stringa e puoi fare !strlen(stringa) per checkare se la stringa è vuota.

_________________
disasm 0xFFFF00 1: LE HANTENNE DEL RUTER SI MVONO DA SL!11!1!!1
[EPD]Giovanni94m: AHSUAHSAUSHAUSAHSAU
disasm 0xFFFF00 1: bella questa asd

[EPD]Giovanni94m: io non riesco a trovare un gioco che ci giocavo su ps1
[EPD]Giovanni94m: non ricordo il nome
[EPD]Giovanni94m: era un omino rosa
[EPD]Giovanni94m: ...
[BCD]barle_the_king: forse cercavi omino bianco [cit. google]
[BCD]barle_the_king: auhsahusuha
[EPD]Giovanni94m: no ahsau
[BCD]barle_the_king: firma duhahudshue

Immagine


Top
 E-mail  
 
 Oggetto del messaggio: Re: [HELP]Doppio strlen
MessaggioInviato: 22/02/2011, 17:36 
Avatar utente
Utente

Iscritto il: 22/12/2010
Messaggi: 1098
Località: Agrigento (Sicilia)
Favourite GTA: San Andreas
Xfire: In PM

Karma
0


Non connesso
Barle no io intendevo dire come fare a farne più di uno. Da come ho visto, in strlen posso mettere solo una stringa. Mi serve invece la funzione in cui mettere più stringhe. Cioè mi spiego meglio: in strlen non posso mica fare !strlen(tmp, score). Almeno qua mi dice che è sbagliato e (penso io), non credo si dovrebbe usare strlen in questo caso.

_________________
Immagine


Top
 E-mail  
 
 Oggetto del messaggio: Re: [HELP]Doppio strlen
MessaggioInviato: 22/02/2011, 17:53 
Avatar utente
Moderatore

Iscritto il: 28/10/2010
Messaggi: 919
Località: Veduggio con Colzano (Milano-Monza)
Favourite GTA: San Andreas
PlayStation Network: Nessuno
Xbox Live: Nessuno
Xfire: barle97

Karma
1


Non connesso
Si invece, tu vuoi controllare se l'utente non ha inserito gli score da mettere.. quindi si fa che se tmp=0 returni il messaggio d'uso.. Se vuoi farne due logicamente ne fai più

_________________
disasm 0xFFFF00 1: LE HANTENNE DEL RUTER SI MVONO DA SL!11!1!!1
[EPD]Giovanni94m: AHSUAHSAUSHAUSAHSAU
disasm 0xFFFF00 1: bella questa asd

[EPD]Giovanni94m: io non riesco a trovare un gioco che ci giocavo su ps1
[EPD]Giovanni94m: non ricordo il nome
[EPD]Giovanni94m: era un omino rosa
[EPD]Giovanni94m: ...
[BCD]barle_the_king: forse cercavi omino bianco [cit. google]
[BCD]barle_the_king: auhsahusuha
[EPD]Giovanni94m: no ahsau
[BCD]barle_the_king: firma duhahudshue

Immagine


Top
 E-mail  
 
 Oggetto del messaggio: Re: [HELP]Doppio strlen
MessaggioInviato: 22/02/2011, 18:08 
Avatar utente
Utente

Iscritto il: 22/12/2010
Messaggi: 1098
Località: Agrigento (Sicilia)
Favourite GTA: San Andreas
Xfire: In PM

Karma
0


Non connesso
Adesso ho capito. Non :lock:, prima provo.

EDIT: Ok funziona, grazie barle. Scrivo la soluzione nel primo Post.

_________________
Immagine


Top
 E-mail  
 
Visualizza ultimi messaggi:  Ordina per  
 Pagina 1 di 1 [ 5 messaggi ] 

  Apri un nuovo argomento Questo argomento è bloccato, non puoi modificare o inviare ulteriori messaggi.

Tutti gli orari sono UTC + 1 ora [ ora legale ]



Chi c’è in linea

Visitano il forum: Nessuno e 15 ospiti


Non puoi aprire nuovi argomenti
Non puoi rispondere negli argomenti
Non puoi modificare i tuoi messaggi
Non puoi cancellare i tuoi messaggi
Non puoi inviare allegati

Cerca per:
Vai a:  
cron