Anda di halaman 1dari 11

String

String
Uma string é uma sequência de caracteres armazenados em posições
consecutivas e adjacentes de memória (ex: uma palavra ou frase).
C++ (mas não C) fornece o tipo string para manipulação de strings. Em C é
necessário usar um arranjo de caracteres.
Exemplos de uso:

string frase1, frase2, frase3;


frase1 = “O dia está ensolarado”;
cin >> frase2;
frase3 = frase1 + frase2; // concatena
String em C
Em C, não há o tipo string, utiliza-se vetores de caracteres:

char frase1[20] = “Esta é uma frase!”;


char frase2[20];
cin >> frase2;

Nesse caso, a concatenação não é feita com o operador +, e sim com strcat (da
biblioteca <cstring>).

Recomenda-se usar o tipo string, por ser mais poderoso e mais fácil de usar!
String em C
O último caracter de string é o caracter nulo, representado pela sequência de
escape \0, que tem o código 0 na tabela ASCII. Esse caracter indica o fim de
strings.
Exemplos:
char letras1[4] = {‘a’, ‘b’, ‘c’, ‘d’}

char letras2[4] = {‘a’, ‘b’, ‘c’, ‘\0’}

Apenas letras2 é string, pois termina com \0.


String versus caracter
Uma constante string é diferente de uma constante do tipo char.

“z” não é o mesmo que ‘z’

z \0 “z”

z ‘z’
Acesso aos caracteres
As posições de uma string podem ser acessadas como se a
string fosse um vetor:

string frase1 = “O dia está ensolarado”;


cout << frase1[2] << endl;

char frase2[20] = “O dia está chuvoso”;


cout << frase2[3] << endl;
Strings com espaço
Para receber uma string do usuário, podemos utilizar cin:

cin >> frase;

No entanto, será considerado como parte da string somente os caracteres até o


caractere branco (espaço ou quebra de linha). Para receber uma linha inteira
podemos utilizar o comando getline():

#include <iostream>
getline(cin, frase);
Strings com espaço

Caso esteja-se trabalhando com vetor de caracteres ao invés


do tipo string, deve-se usar cin.getline():

#include <iostream>
char frase[50];
cin.getline(frase,50);
Tamanho de strings
Para saber o tamanho do espaço ocupado pelas strings, pode-se usar a função
length() ou size(), caso esteja usando o tipo string ou a função strlen() no
caso de vetores de caracteres:

#include <cstring> => apenas para strlen()


int tam1, tam2;
string frase1 = “O dia está quente!”;
char frase2 = “A noite está fria!”;
tam1 = frase1.length(); // ou frase1.size()
tam2 = strlen(frase2);
Exemplo 1
#include <iostream>
using namespace std;
int main()
{
char texto[7] =”objeto”;
int i = 0;
while (texto[i] != ‘\0’)
{
cout << texto[i] << endl;
i++;
}
return(0);
}
Operador de concatenação +
#include <iostream>
#include <cstring>
using namespace std;
int main ()
{
string firstlevel ("com");
string secondlevel ("cplusplus");
string scheme ("http://");
string hostname;
string url;
hostname = "www." + secondlevel + '.' + firstlevel;
url = scheme + hostname;
cout << url << endl;
return 0;
}

Anda mungkin juga menyukai