Comparando Strings C e Descritores
Acredita-se que este artigo ainda seja válido no contexto original (quando ele foi escrito)
Dados do artigo
Artigo
Introdução
Strings C e descritores Symbian são bem diferentes por natureza. A principal diferença é que descritores sabem quantos caracteres existem em um array de dados. Uma string C não sabe seu tamanho, portanto, quando o tamanho é necessário, o caractere NULL que indica o final da string deve ser procurada.
Outra diferença surge com buffers. Quando um código C reserva um buffer do heap ou da pilha, este deve manter o tamanho máximo em algum lugar. Muitos métodos C que alteram o conteúdo do buffer não respeitam o tamanho máximo do buffer e podem sobrecarregar a memória reservada, causando comportamento desconhecido. Descritores de buffer podem dizer o tamanho máximo, e todos os métodos que eles provêm respeitam os limites do buffer.
Ao usar tipos descritores neutros não é necessário se preocupar com comprimentos de caractere. Em um programa C, o programador tem que explicitamente especificar que método usar, for exemplo strcat ou wcscat.
Funções
- Escreve dado formatado em uma string
String C
sprintf, swprintf
Descritor Symbian
TDes::Format
- Anexa uma string a outra
String C
strcat, wcscat, strncat, wcsncat
Descritor Symbian
TDes::Append
- Compara strings lexicograficamente
String C
strcmp, strncmp, wcsncmp
Descritor Symbian
TDesC::Compare
- Copia uma string para outra
String C
strcpy, wcscpy, strncpy, wcsncpy
Descritor Symbian
TDes::Copy
- Encontra um caractere em uma string
String C
strchr, wcschr
Descritor Symbian
TDesC::Locate
- Encontra uma substring
String C
strstr, wcsstr
Descritor Symbian
TDesC::Find
- Encontra tamanho da string
String C
strlen, wcslen
Descritor Symbian
TDesC::Length
- Compara strings usando informação específica de local
String C
strcoll, wcscoll
Descritor Symbian
TDesC::CompareC
- Formata uma string de tempo
String C
strftime, wcsftime
Descritor Symbian
TDes::Format


(no comments yet)