SA-MP Forums

Go Back   SA-MP Forums > Non-English > Languages > Português/Portuguese

Reply
 
Thread Tools Display Modes
Old 17/09/2015, 12:13 AM   #1
Dayvison_
High-roller
 
Dayvison_'s Avatar
 
Join Date: Nov 2013
Posts: 1,307
Reputation: 200
Default String com parte de outra O.o

Bom eu preciso fazer algo que será como no exemplo, porém ocorre me erros então fiz um DEBUG, alguem tem uma idéia do que pode ser?

PHP Code:
main()
{
    
teste("""");
}
forward teste(str1[], str2[]);
public 
teste(str1[], str2[])
{
    
strcpy(str1"STRING1"10);
    
strcpy(str2"STRING2"10);
    print(
str1);
    print(
str2);

}
strcpy(dest[], source[], size=sizeof(dest))
{
    
dest[0] = '\0';
    
strcat(destsourcesize);

No console aparece:

Code:
[20:13:20] SSTRING2
[20:13:20] STRING2
Quando deveria aparecer: '-'
Code:
[20:13:20] STRING1
[20:13:20] STRING2
__________________


Dayvison_ is offline   Reply With Quote
Old 17/09/2015, 12:41 PM   #2
Nixtren
Huge Clucker
 
Nixtren's Avatar
 
Join Date: Jul 2015
Posts: 328
Reputation: 47
Default Re: String com parte de outra O.o

Que coisa mais bizarra. Fiquei aqui a investigar mas não cheguei a nenhuma conclusão. Aconselho você postar isso na área inglêsa se não obtiver nenhuma resposta aqui.
__________________

Software Engineering Lover | White-Hat Hacker | PHP Programmer
Check out my MTA to SA-MP Map Converter (converts Remove World Object too!)
Nixtren is offline   Reply With Quote
Old 17/09/2015, 02:31 PM   #3
[BOPE]Seu._.Madruga
High-roller
 
[BOPE]Seu._.Madruga's Avatar
 
Join Date: Nov 2011
Location: São Paulo - SP
Posts: 1,074
Reputation: 79
Default Re: String com parte de outra O.o

Algo Fácil Porém pouco discutido na Board!

PHP Code:
#include <a_samp>
main()
{
    
teste("""");
}

new 
Parte[2][23];

stock teste(strfind[], strfoulder[])
{
    
format(Parte[0], 23"Leonardo"strfind);
    print(
Parte[0]);
    
format(Parte[1], 23"Bradoks"strfoulder);
    print(
Parte[1]);
    return 
1;

__________________

_\|/_ Ei vey é Nozes _\|/_

Nick: LeozinIMPERATUS

Patente: Coronel 3

Página Oficial: Leonardo " lbs " Bradoks » www.facebo ok.com/leobradoks
Página de Programação: Programação em Foco » www.facebo ok.com/groups/ProgramacaoEmFoco
Atualmente focado ao competitivo de Point Blank
Email | Site Pessoal | Skype | Discord
O topo da inteligência é alcançar a humildade
[BOPE]Seu._.Madruga is offline   Reply With Quote
Old 17/09/2015, 03:29 PM   #4
PT
Godfather
 
PT's Avatar
 
Join Date: Nov 2012
Location: Europe
Posts: 7,168
Reputation: 802
Default Re: String com parte de outra O.o

Não use format para isso tem o strmid e o memcpy

Mas o seu problema deve ter nesse 10 aí no fim retire ele não precisa desse parâmetro visto que ele o obtém automaticamente
PT is offline   Reply With Quote
Old 17/09/2015, 03:42 PM   #5
Dayvison_
High-roller
 
Dayvison_'s Avatar
 
Join Date: Nov 2013
Posts: 1,307
Reputation: 200
Default Re: String com parte de outra O.o

Quote:
Originally Posted by PT View Post
Não use format para isso tem o strmid e o memcpy

Mas o seu problema deve ter nesse 10 aí no fim retire ele não precisa desse parâmetro visto que ele o obtém automaticamente
Acho q memcpy e strmid não terá grande ultilidade p.p
Não o 10 éo tamanho máximo da string, pois se eu não adicionar ele irá resultar um warning dizendo que o tamanho da string não foi determinado, pois usei sizeof em uma matriz sem numero de celulas pré definidos.

Mesmo assim descobri que o erro deve-se ao fato de que eu passo uma string pré definida para a função assim ela não pode receber valores, e no caso o certo seria:

PHP Code:
main()
{
    new 
str1[10], str2[10];
    
teste(str1str2); 

forward teste(str1[], str2[]); 
public 
teste(str1[], str2[]) 

    
strcpy(str1"STRING1"10); 
    
strcpy(str2"STRING2"10); 
    print(
str1); 
    print(
str2); 


strcpy(dest[], source[], size=sizeof(dest)) 

    
dest[0] = '\0'
    
strcat(destsourcesize); 

Aos outros obrigado
__________________


Dayvison_ is offline   Reply With Quote
Old 17/09/2015, 03:54 PM   #6
[BOPE]Seu._.Madruga
High-roller
 
[BOPE]Seu._.Madruga's Avatar
 
Join Date: Nov 2011
Location: São Paulo - SP
Posts: 1,074
Reputation: 79
Default Re: String com parte de outra O.o

Quote:
Originally Posted by PT View Post
Não use format para isso tem o strmid e o memcpy

Mas o seu problema deve ter nesse 10 aí no fim retire ele não precisa desse parâmetro visto que ele o obtém automaticamente
Porque não usar? e oque você disse sobre obter o valor automaticamente está errado! Atualize suas includes.
A forma ideal de fazer oque ele está querendo é utilizando a format pois não da erros e funciona perfeitamente, e outra coisa percebi que apenas eu trouxe uma solução funcional para ele ao contrário de outros que só visualizaram.
__________________

_\|/_ Ei vey é Nozes _\|/_

Nick: LeozinIMPERATUS

Patente: Coronel 3

Página Oficial: Leonardo " lbs " Bradoks » www.facebo ok.com/leobradoks
Página de Programação: Programação em Foco » www.facebo ok.com/groups/ProgramacaoEmFoco
Atualmente focado ao competitivo de Point Blank
Email | Site Pessoal | Skype | Discord
O topo da inteligência é alcançar a humildade
[BOPE]Seu._.Madruga is offline   Reply With Quote
Old 17/09/2015, 03:57 PM   #7
PT
Godfather
 
PT's Avatar
 
Join Date: Nov 2012
Location: Europe
Posts: 7,168
Reputation: 802
Default Re: String com parte de outra O.o

Quote:
Originally Posted by [BOPE]Seu._.Madruga View Post
Porque não usar? e oque você disse sobre obter o valor automaticamente está errado! Atualize suas includes.
A forma ideal de fazer oque ele está querendo é utilizando a format pois não da erros e funciona perfeitamente, e outra coisa percebi que apenas eu trouxe uma solução funcional para ele ao contrário de outros que só visualizaram.

Format é lento para copiar strings.
O propósito para que foi feito e para formatar não copiar.

Atualizar que includes? Ta doente?

Os métodos que falei acima são mais rápidos que format para copiar strings
PT is offline   Reply With Quote
Old 17/09/2015, 04:14 PM   #8
Dayvison_
High-roller
 
Dayvison_'s Avatar
 
Join Date: Nov 2013
Posts: 1,307
Reputation: 200
Default Re: String com parte de outra O.o

Quote:
A lot of people tend to copy strings like this:

PHP Code:
format(destsizeof (dest), "%s"src); 
This is one of the worst ways to do it! I did timings on six different methods of copying strings, in all cases "b" is the destination and "a" is the source. "strcpy" is a hand written PAWN function to copy strings:

PHP Code:
strmid(ba0strlen(a), sizeof (b));

format(bsizeof (b), "%s"a);

b[0] = '\0';
strcat(basizeof (b));

memcpy(ba0strlen(a) * 4sizeof (b)); // Length in bytes, not cells.

strcpy(ba);

a
Note that "b = a;" is the standard PAWN array copy and only works for arrays known at compile time to be the same size, or with a larger desination. Unfortunately I ran a range of tests and they do not point to a single best function. What they DO do is show quite clearly that both the hand coded PAWN version and format are very slow at copying strings:

For short strings in small arrays, "b = a;" is fastest when applicable, strcat with prior NULL termination (important) is second.

For short strings in large arrays, strcat is fastest.

For longer strings in longer arrays, "b = a;" is again fastest, with memcpy second.

For huge arrays "b = a;" seems to be fastest.

Where possible use standard array assignment, however this is not always possible, for example when a string of unknown size is passed to a function. In these cases I would suggest using strcat (if you're interested, note the bizzare syntax):

PHP Code:
#define strcpy(%0,%1,%2) \
    
strcat((%0[0] = '\0', %0), %1, %2
Use:

PHP Code:
strcpy(destsrcsizeof (dest)); 
Não há necessidade em usar format, ou mesmo atualizar includes LOL
__________________


Dayvison_ is offline   Reply With Quote
Old 17/09/2015, 04:26 PM   #9
PT
Godfather
 
PT's Avatar
 
Join Date: Nov 2012
Location: Europe
Posts: 7,168
Reputation: 802
Default Re: String com parte de outra O.o

Tu só confirmou que eu tava certo não sei onde queres chegar agora
PT is offline   Reply With Quote
Old 17/09/2015, 04:28 PM   #10
Dayvison_
High-roller
 
Dayvison_'s Avatar
 
Join Date: Nov 2013
Posts: 1,307
Reputation: 200
Default Re: String com parte de outra O.o

Quote:
Originally Posted by PT View Post
Tu só confirmou que eu tava certo não sei onde queres chegar agora
Era em relação a este post, ele insistindo em um "erro"

Quote:
Originally Posted by [BOPE]Seu._.Madruga View Post
Porque não usar? e oque você disse sobre obter o valor automaticamente está errado! Atualize suas includes.
A forma ideal de fazer oque ele está querendo é utilizando a format pois não da erros e funciona perfeitamente, e outra coisa percebi que apenas eu trouxe uma solução funcional para ele ao contrário de outros que só visualizaram.
__________________


Dayvison_ is offline   Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
[Ajuda] String ou outra forma de fazer ViniKuliveguisky Português/Portuguese 3 15/07/2013 10:29 PM
[Ajuda] Outra forma ? Gleisson_. Português/Portuguese 3 05/06/2013 05:44 PM
[Ajuda] Instalar Painel em VPS a parte Sr_Salvatore Português/Portuguese 6 05/11/2012 06:20 PM
[OFF]outra linguagem ? lyllrasta Português/Portuguese 10 13/04/2012 02:12 AM


All times are GMT. The time now is 06:04 PM.


Powered by vBulletin® Version 3.8.6
Copyright ©2000 - 2020, Jelsoft Enterprises Ltd.