[Tutorial] Strings
#1

Strings
"O verdadeiro tamanho delas"
Estava agora a ver umas coisas e deu-me na cabeзa de fazer um pequeno tutorial sobre strings, й simplesmente um tutorial sobre o tamanho das strings, digamos que й apenas um esclarecimento.

Como todos jб sabem uma string й uma array 1D e todos nуs sabemos que nгo й necessбrio usar strings de 256 para textos, o meu conselho й usar strings 128+ apenas para coisas externas, como por exemplo: MySQL.

O que muitos podem nгo saber й que normalmente o limite que definimos й errado, ou seja, quando vocк define 128 cells em uma string vocк estб dizendo que o mбximo de caracteres disponнveis serгo apenas 127.

Entгo mas porque isso acontece?

Simplesmente porque a ultima cйlula й declarada com um EOS (End Of String) que em portuguкs significa, Fim Da String.

Veja vocк mesmo:

pawn Код:
new string[11];
format(string,sizeof(string),"%s","Hello World");
print(string);
(Usei format para formatar a nossa string, pois printf nгo terнamos provas solidas sobre isso)

Como podem ver ele irб imprimir: Hello Worl

Entгo se adicionarmos +1, ou seja, new string[12], e testarmos veremos que o ele irб imprimir: Hello World

Entгo concluнmos que as strings que formatamos e que usamos como mensagens nгo devem ser de 128 mas sim de 129, porque o ultimo carбcter serб um EOS.

Isto nгo й um grande tutorial, simplesmente um esclarecimento de coisas.
Reply
#2

Ajudara a Muitos!

Bom trabalho Gonзalo.
Reply
#3

BlueX, uma coisa que seria interessante (EU ACHO) colocar no seu tutorial, seria o que pode acontecer quando a pessoa usa Strings com mais cйlulas do que o normal (Desperdiзando cйlulas) e tambйm sobre strings globais e locais, quais das duas seriam as mais adequadas e melhor desempenho.

Gostei do Tuto
Reply
#4

PHP код:
printf("%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c",83,201,82,73,79,63,32,209,32,77,69,32,68,73,71,65,32,58,79); 
rзrзrзrзrзrз
Reply
#5

Quote:
Originally Posted by leonardo1434
Посмотреть сообщение
PHP код:
printf("%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c",83,201,82,73,79,63,32,209,32,77,69,32,68,73,71,65,32,58,79); 
rзrзrзrзrзrз
Codificaзгo ASCII, estou com preguiзa danada de responder isto ai em ascii.



Ao tуpico, atй que enfim alguйm resolveu criar este tutorial, mais estб faltando
coisas ai
Reply
#6

Sim Garfield. No caso ele estб representando em valores decimais

pawn Код:
printf ( "%c", ' ' ) ;

e

pawn Код:
printf ( "%c", 32 ) ;
Sгo a mesma coisa, bem como usar binбrio, octal, hexadecimal

pawn Код:
printf ( "%c", 0x20 ) ;

Lembrando que %c imprimi caractere



Abraзos
Reply
#7

Muito bom BlueX.
Reply
#8

Quote:
Originally Posted by Japa3D
Посмотреть сообщение
Ajudara a Muitos!

Bom trabalho Gonзalo.
Obrigado

Quote:
Originally Posted by EditPawn
Посмотреть сообщение
BlueX, uma coisa que seria interessante (EU ACHO) colocar no seu tutorial, seria o que pode acontecer quando a pessoa usa Strings com mais cйlulas do que o normal (Desperdiзando cйlulas) e tambйm sobre strings globais e locais, quais das duas seriam as mais adequadas e melhor desempenho.

Gostei do Tuto
Eu na altura pensei fazer o tutorial apenas sobre isto, nгo pensei sobre globais e locais porque acho que jб existe tutoriais suficientes sobre isso.

Quote:
Originally Posted by leonardo1434
Посмотреть сообщение
PHP код:
printf("%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c",83,201,82,73,79,63,32,209,32,77,69,32,68,73,71,65,32,58,79); 
rзrзrзrзrзrз
Ui nгo me diga, existe pessoas que nгo sabem quer o que rзrзrзrз

Quote:
Originally Posted by [Full]Garfield[XDB]
Посмотреть сообщение
Codificaзгo ASCII, estou com preguiзa danada de responder isto ai em ascii.

Ao tуpico, atй que enfim alguйm resolveu criar este tutorial, mais estб faltando
coisas ai
Concordo com vocк, estб faltando coisas sobre as strings, secalhar nгo escolhi o nome correto sobre o tutorial, mas a minha intenзгo era ensinar sobre o tamanho das mesmas.

Quote:
Originally Posted by mau.tito
Посмотреть сообщение
Muito bom BlueX.
Obrigado :mrgeen:
Reply
#9

Cara acabei de fazer um teste aqui e o SendClientMessage consegue enviar atй 144 caracteres, deve ter aumentado nessas novas versхes.
Reply
#10

Quote:
Originally Posted by leonardo1434
Посмотреть сообщение
PHP код:
printf("%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c",83,201,82,73,79,63,32,209,32,77,69,32,68,73,71,65,32,58,79); 
rзrзrзrзrзrз
Sйrio? С me diga :O

Curti hueheuhee
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)