Format PT

From SA-MP Wiki

Jump to: navigation, search

format

Image:Farm-Fresh text lowercase.png Nota: O nome desta função começa com uma letra minúscula.


Descrição:

Formata uma string para incluir outras variáveis dentro dela.


Image:32px-Circle-style-warning.png

Nota
Importante

Esta função não suporta strings compactadas.


Parâmetros:
(output[], len, const format[], {Float,_}:...)
output[]A string que vai ser armazenada o resultado da formatação
lenO tamanho máximo da string de saída
format[]O formato da string
{Float,_}:...O número indefinido de argumentos com qualquer tag


RetornoEsta função não retorna um valor especifico.


Especificadores de formato

Especificador Significado
%i Números inteiros
%d Números inteiros
%s String
%f Número com ponto flutuante (Float: tag), ex: 1.5
%c Caractere ASCII
%x Número hexadecimal
%b Número binário
%% Exatamente '%'
%q Escape de texto para SQLite. (Adicionado na versão 0.3.7 R2)

Os valores dos espaços reservados seguem exatamente a mesma ordem dos parâmetros na chamada. Por exemplo, "Eu tenho anos de idade": o% vou ser substituído por uma variável do tipo inteiro, que é a idade da pessoa.

Você pode opcionalmente colocar um número entre o '%' e a letra do código do marcador de posição. Este número indica a largura do campo; se o tamanho do parâmetro para imprimir na posição do espaço reservado for menor que a largura do campo, o campo é expandido com espaços. Para cortar o número de casas decimais sendo mostrado de um flutuador, você pode adicionar '. <Max number>' entre '%' e 'f'. (exemplo:%.2f)

Exemplo de uso:

new resultado[59];
new numero = 42;
format(resultado,sizeof(resultado), "O número é %i.",number);  //-> O número é 42.
new string[]= "uma simples mensagem";
format(resultado,sizeof(resultado), "Essa é %s que contém o número %i.", string, number);
// Essa é um simples mensagem que contém o número 42.
new string[64];
format(string,sizeof(string),"Seu level é: %d", GetPlayerScore(playerid));
SendClientMessage(playerid,0xFFFFFFAA,string);
new hour, minute, second, string[32];
gettime(hour, minute, second);
 
format(string, sizeof(string), "O horário é %02d:%02d:%02d.", hour, minute, second); // will output something like 09:45:02
SendClientMessage(playerid, -1, string);

Uma maneira de inserir o sinal de porcentagem é fazer:

new string[35];
format(string,sizeof(string),"Carregando 69%s.","%%");
SendClientMessage(playerid,0xFFFFFAA,string);
//Ou simplesmente:
SendClientMessage(playerid,0xFFFFFAA,"Carregando 69%%.");

Funções Relacionadas

As seguintes funções podem ser úteis, pois estão de alguma forma, relacionadas a esta função.


  • format: Formata uma string.
  • strlen: Pega o tamanho de uma string.
  • strpack: Compacta uma string e armazena em uma string de destino.
  • strcat: Concatena duas strings.
  • strmid: Extrai uma sequência de caracteres de uma string.
  • strins: Insere uma sequência de caracteres em uma determinada posição de uma string.
  • strdel: Delete uma parte da string a partir de uma posição inicial e final.
  • strcmp: Compara duas strings para ver se são iguais.
  • strfind: Procura uma sequência de caracteres dentro de uma string.
  • strval: Converte uma string para números inteiros
  • valstr: Converte um número para uma string.
  • ispacked: Verifica se uma string esta compactada.
  • memcpy: Copia bytes de uma array para outra array.
Personal tools
Navigation
Toolbox