String um tipo de dado utilizado em programao para armazenar um
conjunto de caracteres, formando uma palavra ou uma frase. Por exemplo, Frase de exemplo uma string. At agora utilizamos somente comandos em C para fazer a leitura e sada de dados. Porm C, por no ser uma linguagem orientada a objetos, no possui um tipo de dado do tipo string, sendo necessrio criar um vetor de dados do tipo caractere para representar uma string. Isso gera uma srie de cuidados a serem tomados. Tambm surgem vrias complicaes, principalmente para definir strings sem um tamanho pr-definido, porque temos que lidar com ponteiros e alocao dinmica de memria, o que est fora do escopo deste curso. Para contornar esse problema, utilizaremos classes do C++. Enquanto C uma linguagem de programao estruturada, C++ uma linguaguem de programao orientada a objetos, ou seja, embora ambas possuam uma sintaxe semelhante, sua estrutura bem diferente. Enquanto uma linguagem estruturada mais utilizada quando o foco est em um desempenho otimizado e um foco maior no hardware, a linguagem orientada a objetos permite a criao de programas mais complexos devido ao seu nvel de abstrao e reaproveitamento do cdigo. Estudar uma linguagem orientada a objeto tambm est fora do escopo desta matria, sendo apresentados a seguir os passos para utilizar strings, sem uma explicao aprofundada. Tambm ser utilizado streams de entrada e sada de dados, para facilitar a leitura de palavras do teclado, bem como para mostrar dados na tela.
Primeiramente devemos declarar no cabealho do programa as bibliotecas que
estaremos utilizando e seus namespaces. No caso estaremos utilizando a biblioteca de strings e a biblioteca de streams de entrada e sada de dados. Ento, no incio do programa deve ser declarado o seguinte: #include<iostream> using std::cout; using std::endl; using std::cin; #include<string> using std::string; using std::getline; Feito isso estamos aptos a utilizar strings.
- Declarao e atribuio de valores a strings: podemos declarar e atribuir
valores a strings como qualquer outra varivel normal. string s1; s1 = Minha primeira string!; string s2 = Posso dar um valor ao declarar a string!; Lembrando que as palavras devem estar entre aspas duplas.
- Acesso a um elemento da string: lembrando que strings so vetores de
caracteres, ento podemos obter acesso a um elemento interno da mesma forma que para qualquer vetor comum. String s = Minha string; char c = s[3]; A varivel c teria o falor do quarto elemento da string s, ou seja 'h'.
- Leitura de uma string digitada pelo teclado: para armazenar em uma
string o que digitamos no teclado, utilizaremos o comando getline. getline(cin, s); No comando, s a string de armazenamento.
- Adicionando strings: podemos adicionar strings utilizando o operador de soma.
String s1, s2; s1 = String 1 ; s2 = string 2.; s1 = s1 + s2; O resultado em s1 seria String 1 string 2..
- Comparando strings: podemos comparar uma string com outra atravs do
mtodo compare. s1.compare(s2) s1.compare(algumas palavras) Este mtodo compara a string em s1 como a string em s2 ou com uma string escrita diretamente. Ele retorna como resultado: Valor de Retorno
Condio
Se s1 for igual s2 Se o valor do primeiro caractere diferente
Menor que 0
nas duas strings for menor em s1. Ou se
todos os caracteres forem iguais, mas s1 for menor que s2. Se o valor do primeiro caractere diferente
Maior que 0
nas duas strings for maior em s1. Ou se
todos os caracteres forem iguais, mas s1 for maior que s2.
- Obtendo a quantidade de caracteres em uma string: o mtodo size
retorna o nmero de caracteres na string. Ex: string s1 = Ol mundo! s1.size(); s1.size() retornar o valor 10, que a quantidade de caracteres em Ol mundo!. Alm desses mtodos, existem vrios outros que a classe string implimenta, permitindo um alto controle sobre o objeto. Esses mtodos podem ser acessados pesquisando-se na internet pela classe string em C++.
Agora veremos um novo mtodo para mostrar informaes na tela do computador.
At agora utilizamos o comando printf da biblioteca stdio.h da linguagem c. Este comando exige uma srie de cuidados com a formatao para mostrar os valores corretos na tela. Para facilitar essa tarefa, utilizaremos o objeto cout para mostrar de maneira simples informaes de sada de dados. Cout pertence a biblioteca iostream. E sua utilizao como segue: cout << Alguma frase para ser impressa. << endl; Nota-se o uso da funo endl, que serve para dizer que deve ser feita uma quebra de linha. (Em printf utilizavamos a formatao \n para essa funo) Tambm podemos utilizar cout para mostrar varias variveis de uma s vez de uma forma simples, e sem a necessidade de formatao: int n = 10; float f = 12.02; char c = 'z'; string s = Minha string; cout << n << , << f << , << c << , << s << . << endl; O resultado impresso na tela seria: 10, 12.02, z, Minha string.