Dados gerais

Interface: StringMan
Arquivos: stringman.h
Última atualização: 10/05/2005
Autor: Luiz Henrique Shigunov
Informações

Descrição
Funções para o sistema

0x00 - Compare - Compara duas strings
0x01 - Concatenate - Concatena duas strings
0x02 - Copy - Copia uma string
0x03 - FindChar - Encontra um caracter numa string
0x04 - FindLastChar - Encontra um caracter numa string começando do fim
0x05 - Length - Obtem o tamanho de uma string
0x06 - NCompare - Compara N caracteres de duas strings
0x07 - NConcatenate - Concatena N caracteres de duas strings

0x08 - NCopy - Copia N caracteres de uma string
0x0c - NLength - Obtem o tamanho de uma string
0x0d - NPrintF - Formata uma string
0x0a - NPrintFArgs - Formata uma string passando um vetor de parâmetros
0x09 - PrintF - Formata uma string
0x0e - ScanF - Leitura formatada
0x0f - ScanFArgs - Leitura formatada passando um vetor de parâmetros
0x0b - StrToInt - Converte uma string num número inteiro

Descrição

Esta página descreve a interface StringMan que trata da manipulação de strings.

0x00 - Compare

Sintaxe

long StringMan_Compare(const char *s1, const char *s2);

Propriedades

Descrição

Esta função compara s1 com s2. É uma comparação sensível a letras maiúsculas e minúsculas.

Valor de retorno

< 0 - se s1 for menor que s2;
= 0 - se s1 for igual a s2;
> 0 - se s1 for maior que s2.

0x01 - Concatenate

Sintaxe

void StringMan_Concatenate(char *dest, const char *src);

Propriedades

Descrição

Esta função concatena src em dest sobrescrevendo o 0 do final de dest e, por fim, colocando 0 no final de dest.

As strings não podem se sobrepor e dest tem que ser grande o suficiente.

Valor de retorno

Nada.

0x02 - Copy

Sintaxe

void StringMan_Copy(char *dest, const char *src);

Propriedades

Descrição

Esta função copia a string apontada por src (incluindo o 0 final) para a string apontada por dest.

As strings não podem se sobrepor e dest tem que ser grande o suficiente.

Valor de retorno

Nada.

0x03 - FindChar

Sintaxe

char *StringMan_FindChar(const char *s, long c);

Propriedades

Descrição

Esta função encontra a primeira ocorrência do caracter c na string s.

Valor de retorno

O ponteiro para o caracter se ele existir;
NULL se ele não existir.

0x04 - FindLastChar

Sintaxe

char *StringMan_FindLastChar(const char *s, long c);

Propriedades

Descrição

Esta função encontra a última ocorrência do caracter c na string s.

Valor de retorno

O ponteiro para o caracter se ele existir;
NULL se ele não existir.

0x05 - Length

Sintaxe

unsigned long StringMan_Length(const char *s);

Propriedades

Descrição

Esta função calcula o tamanho da string s não incluindo o último zero.

Valor de retorno

O número de caracteres em s.

0x06 - NCompare

Sintaxe

long StringMan_NCompare(const char *s1, const char *s2, unsigned long count);

Propriedades

Descrição

Esta função compara count bytes de s1 com s2. É uma comparação sensível a letras maiúsculas e minúsculas.

Valor de retorno

< 0 - se s1 for menor que s2;
= 0 - se s1 for igual a s2;
> 0 - se s1 for maior que s2.

0x07 - NConcatenate

Sintaxe

void StringMan_NConcatenate(char *dest, const char *src, unsigned long count);

Propriedades

Descrição

Esta função concatena count bytes de src em dest sobrescrevendo o 0 do final de dest.

As strings não podem se sobrepor e dest tem que ser grande o suficiente.

Valor de retorno

Nada.

0x08 - NCopy

Sintaxe

long StringMan_NCopy(char *dest, const char *src, unsigned long count);

Propriedades

Descrição

Esta função copia count menos 1 bytes da string src para a string dest, terminando dest com zero, ou seja, dest sempre será uma string.

As strings não podem se sobrepor e dest tem que ser grande o suficiente.

Se count for zero nada acontecerá e a função retorna zero.

Se count for 1 dest será terminada com zero e a função retorna zero somente se src for uma string vazia, ou seja, copiou até o fim.

Valor de retorno

Zero se copiou até o fim de src ou outro valor caso contrário.

0x0c - NLength

Sintaxe

unsigned long StringMan_NLength(const char *s, unsigned long count);

Propriedades

Descrição

Esta função calcula o tamanho da string s não incluindo o zero final, mas sem passar de count caracteres.

Com isso, a string s só será examinada nos primeiros count caracteres.

Valor de retorno

O número de caracteres em s ou count se o tamanho de s for maior que count.

0x0d - NPrintF

Sintaxe

long StringMan_NPrintF(char *buf, unsigned long size, const char *fmt, ...);

Propriedades

Descrição

Esta função coloca em buf a string formatada de acordo com fmt, porém não escreve mais que size caracteres. Os 3 pontos significam que podem vir uma quantidade variável de parâmetros.

fmt aceita as mesmas opções que NPrintFArgs.

Valor de retorno

O número de bytes escritos ou o número de bytes que seriam escritos no caso de size não ser grande o suficiente.

0x0a - NPrintFArgs

Sintaxe

long StringMan_NPrintFArgs(char *buf, unsigned long size, const char *fmt, va_list args);

Propriedades

Descrição

Esta função coloca em buf a string formatada de acordo com fmt, porém não escreve mais que size caracteres. args é um vetor com os parâmetros.

O arquivo stdarg.h deve ser incluído. É nesse arquivo que va_list é definido.

Esta função suporta os seguintes flags: #, 0, -, + e ' ' (espaço), os seguintes modificadores de tamanho: h, l, ll, L e Z e os seguintes formatadores: d, i, o, u, x, X, c, s, p, n e %.

Valor de retorno

O número de bytes escritos ou o número de bytes que seriam escritos no caso de size não ser grande o suficiente.

0x09 - PrintF

Sintaxe

long StringMan_PrintF(char *buf, const char *fmt, ...);

Propriedades

Descrição

Esta função coloca em buf a string formatada de acordo com fmt. Os 3 pontos significam que podem vir uma quantidade variável de parâmetros.

fmt aceita as mesmas opções que NPrintFArgs.

Valor de retorno

O número de bytes escritos.

0x0e - ScanF

Sintaxe

long StringMan_ScanF(const char *buf, const char *fmt, ...);

Propriedades

Descrição

Esta função lê (scans) buf de acordo com fmt. Os 3 pontos significam que podem vir uma quantidade variável de parâmetros.

fmt aceita as mesmas opções que ScanFArgs.

Valor de retorno

O número de itens atribuídos.

0x0f - ScanFArgs

Sintaxe

long StringMan_ScanFArgs(const char *buf, const char *fmt, va_list args);

Propriedades

Descrição

Esta função lê (scans) buf de acordo com fmt. args é um vetor com os parâmetros.

O arquivo stdarg.h deve ser incluído. É nesse arquivo que va_list é definido.

Esta função suporta os seguintes flags: *, os seguintes modificadores de tamanho: h, l, L e Z e os seguintes formatadores: d, i, o, u, x, X, c, s, n e %.

Valor de retorno

O número de itens atribuídos.

0x0b - StrToInt

Sintaxe

long StringMan_StrToInt(const char *str, char **endstr, long base, long *error);

Propriedades

Descrição

Esta função converte a string str para um valor long de acordo com a base base.

A string deve começar com um número qualquer de espaço (' ', '\n', '\t', '\r', '\f', '\v') seguido de um sinal '+' ou '-'. Se base for 0 ou 16, a string pode ter um prefixo '0x', e o número será lido com base 16.

Se base for 0 e o número começar com 0, a base será 8 (octal), do contrário base 10.

A conversão termina no primeiro caracter inválido para a base.

endstr, se for diferente de NULL, indica o fim da str convertida. Se ocorrer erro, este será indicado em error, se error for diferente de NULL.

base deve ser >= 2 e <= 36. Se base for 0 a base será descoberta.

Valor de retorno

O número convertido;
0 se base incorreta e error será 1;
O maior número positivo se ocorrer overflow e error será 2;
O menor número negativo se ocorrer underflow e error será 2.