String Cpp

5

Click here to load reader

description

string2

Transcript of String Cpp

  • String em C++Uma das formas de se manipular cadeias de caracteres, tambm chamadas de strings em C+

    + armazen-las como vetores de char. Esta a forma tradicional utilizada pela linguagem C.Ento, definimos inicialmente o tamanho do vetor e depois podemos usar comandos da linguagempara manipular estes dados. No podemos copiar uma string para outra com o comando deatribuio =, temos comandos para executar esta operao. Para manipular este tipo de string preciso ter certo cuidado, pois o vetor sempre tem um tamanho definido e caso faamos um acesso aum endereo fora do limite do vetor, invadiremos outras reas de memria de maneira indevida, eportanto, poderemos fazer o programa parar de funcionar

    Podemos tambm em C++, manipular strings atravs da classe String. Inicialmente veremosa manipulao de strings representadas por vetores de char.

    Os caracteres so tambm representados atravs de nmeros que geralmente tm oito bits,esses nmeros so traduzidos na tabela ASCII de 128 caracteres, como existem inmeras regies nomundo com caractersticas lingusticas prprias, a tabela ASCII estendida por um bloco decaracteres acima dos 128 mais baixos que varia de acordo com as necessidades de cada lngua. Aparte superior da tabela ASCII conhecida como parte estendida e referenciada por pginas decdigos para cada propsito lingustico, isso quer dizer que podemos ter os mesmos nmerossignificando caracteres diferentes para cada regio do mundo.

    Cada caractere em C++ ocupa um byte na memria. Dessa forma, C o caractere C (ocupaapenas 1 byte na memria) enquanto que, C um vetor de caracteres (ocupa 2 bytes na memriaonde 1 byte reservado para o finalizador de strings). O tamanho da string deve sempre incluir ofinalizador de strings (\0). A funo do finalizador de strings nica e estritamente para definirquais so as posies preenchidas dentro de vetor de caracteres das posies que no forampreenchidas

    Verificando o tamanho da stringPara uma string armazenada em um vetor de char, podemos verificar quantos elementos

    deste vetor esto sendo efetivamente utilizados, ou seja, o tamanho da string digitada atravs docomando strlen presente no arquivo de cabealho cstring. Usa-se a funo com o vetor entreparnteses: strlen(vetor).

    Um exemplo da sada deste programa seria:

    //Verificando tamanho de String#include #include

    using namespace std;

    int main (){ char nome[50]; cout

  • O nome armazenado : Jos Carlos que tem 11 caracteres.

    Copiando um String para OutraO comando strcpy pode ser usado para copiar os valores entre duas strings. A sintaxe seria:

    strcpy(destino, origem). Podemos especificar quantos dos primeiros caracteres queremos copiar,utilizando o comando strncpy. A sintaxe strncpy(destino, origem, x), onde o terceiro parmetro xdeve ser substitudo por um nmero inteiro que definir a quantidade de caracteres que sercopiada, partindo do inicio da string de origem. A seguir, um exemplo.

    Uma sada para este programa seria:Usando comandos de copias de stringsMaria TerezaMaria TerezaMaria T

    Comparando duas stringsO comando strcmp pode ser utilizado para comparar duas strings. A sintaxe :

    strcmp(string1,string2)Se as strings forem iguais a funo retorna zero, se string1 for maior a funo retorna um

    valor menor que zero e se string2 for maior a funo retorna um valor maior que zero.

    Unindo duas StringsPodemos unir ou concatenar duas strings com o comando strcat, cuja sintaxe

    strcat(destino, origem). Este comando adiciona ao final da string destino o contedo presente nastring origem.

    O comando strncat(destino, origem, nr_caracteres) pode ser utilizado para adicionar apenasalguns dos primeiros caracteres da string de origem.

    Verificando a ocorrncia de um caractereO exemplo a seguir, percorre o vetor que armazena a string e informa em qual posio est a

    primeira ocorrncia de um caractere.

    // Copiando stringsint main (){ char nome1[50], nome2[50], nome3[50]; cout

  • Verificando a ocorrncia de uma substring

    Alm dos comandos citados anteriormente, a tabela a seguir apresenta um resumo de algunscomandos que so utilizados na manipulao de strings. Estes comondos esto presentes nocabealho cstring.

    Tabela com resumo dos comandos:

    int main (){ char nome[50]; int tam; char ch; cout

  • Comando Funostrlen(nome_vetor) Informa o tamanho da string armazenadastrcpy(destino, origem) Copia contedo da string origem para a destino

    strncpy(destino, origem,x) Copia os x primeiros caracteres da string origem para a destino

    strcat(destino, origem) Adiciona ao final do vetor destino o contedo do vetor origem

    strcmp(string1,string2) Verifica se as duas strings so iguais.

    strncat(destino, origem,x) Adiciona ao final do vetor destino os x primeiros caracteres do vetororigem

    strupr(string) Converte os caracteres da string para caixa alta ou deixa todos emmaisculo

    strlwr(string) Converte os caracteres da string para caixa baixa ou deixa todos emminsculas.

    strset(string,caractere) Substitui todos os caracteres de uma string pelo caractere passadocomo parmetro.

    tolower Converter um caractere em minsculotoupper Converte um caractere minsculo em maisculo.isalnum Verifica se o caractere alfanumricoisalpha Verificar se o caractere uma letra do alfabetoiscntrl Verificar se o caractere um caractere de controleisdigit Verificar se o caractere um digito decimalisgraph Verifica se o caractere tem representao grficaislower Verifica se o caractere minsculoisprint Verifica se o caractere imprimvel.ispunct Verifica se o caractere um pontoisspace Verificar se o caractere um espao em brancoisupper Verifica se o caractere uma letra maisculaisxdigit Verifica se o caractere um dgito hexadecimal

    Exemplo:

  • int main(){ char ch; cout ch; cout