O que é uma corda?
Uma string é uma sequência de caracteres. Uma string C ++ é um objeto da classe std :: string. Os caracteres são sequências armazenadas de bytes com acesso a um único byte de caractere permitido.
As strings C ++ alocam memória dinamicamente. Mais memória pode ser alocada para a string durante o tempo de execução, se necessário. Como não há pré-alocação de memória, não há desperdício de memória. Podemos realizar várias operações em strings, incluindo comparações, concatenação, conversão, etc.
Neste tutorial C ++, você aprenderá:
- O que é uma corda?
- Declarando Strings
- Cadeia de caracteres estilo C
- std :: string
- Acessando valores de string
- Funções de string:
- strcpy ()
- strcat ()
- strlen ()
- strcmp ()
- Exemplo:
Declarando Strings
C ++ suporta dois tipos de declarações de string:
- Cadeia de caracteres estilo C
- Tipo de classe de string
Cadeia de caracteres estilo C
Este tipo de declaração de string foi introduzido na linguagem de programação C. C ++ continua a suportá-lo. É simplesmente uma matriz unidimensional de caracteres terminada com um caractere nulo (\ 0). Uma string terminada em nulo possui caracteres que compõem a string, seguidos por um nulo.
Considere a declaração de string fornecida abaixo:
char name[5] = {'J', 'o', 'h', 'n', '\0'};
A declaração acima cria uma string que forma a palavra John. A palavra tem 4 caracteres, mas a string tem tamanho 5. O espaço extra permite manter o caractere nulo.
Usando a regra de inicialização da matriz, podemos escrever a instrução acima da seguinte maneira:
char name[] = "John";
Observe que você não precisa colocar o caractere nulo no final da constante de string. O compilador C ++ colocará automaticamente o '\ 0' no final da string ao inicializar o array.
std :: string
A biblioteca C ++ padrão fornece a classe de string que suporta várias operações de string. É escrito como std :: string.
Para usar esta classe, devemos primeiro incluí-la em nosso espaço de trabalho usando o pré-processador #include, conforme mostrado abaixo:
#include
A seguir, podemos declarar nossa string usando a palavra-chave string. Por exemplo:
string name = "John";
A instrução acima criará uma string chamada name para conter o valor John.
Acessando valores de string
Em C ++, podemos acessar os valores da string usando o nome da string. Por exemplo:
#includeusing namespace std;int main() {char name[5] = { 'J', 'o', 'h', 'n', '\0' };cout << "String value is: ";cout << name << endl;return 0;}
Resultado:
Aqui está uma captura de tela do código:
Explicação do código:
- Incluindo o arquivo de cabeçalho iostream em nosso código. Isso nos permitirá ler e gravar no console.
- Incluindo o namespace std para usar suas classes e funções sem chamá-lo.
- Chamar a função main () dentro da qual a lógica do programa deve ser adicionada. O {marca o início do corpo da função main ().
- Declarar uma string de caracteres e dar a ela o nome name. A string armazenará o valor John. O espaço extra armazenará o caractere nulo.
- Imprimindo algum texto no console.
- Imprimindo o valor da string chamada nome no console.
- A função main () deve retornar um valor se o programa funcionar bem.
- Fim do corpo da função main ().
Aqui está outro exemplo usando a classe de string padrão C ++:
#include#include using namespace std;int main() {string name = "Guru99";cout << "The name is : " << name << endl;return 0;}
Resultado:
Aqui está uma captura de tela do código:
Explicação do código:
- Incluindo o arquivo de cabeçalho iostream em nosso código. Isso nos permitirá ler e gravar no console.
- Incluindo a classe de string padrão em nosso código.
- Incluindo o namespace std para usar suas classes e funções sem chamá-lo.
- Chamar a função main () dentro da qual a lógica do programa deve ser adicionada. O {marca o início do corpo da função main ().
- Declarar uma string e dar a ela o nome do nome. A string armazenará o valor Guru99.
- Imprimir o valor do nome da string junto com algum texto no console.
- A função main () deve retornar um valor se o programa funcionar bem.
- Fim do corpo da função main ().
Funções de string:
Freqüentemente, você desejará manipular strings. C ++ fornece uma ampla gama de funções que você pode usar para isso. Essas funções são definidas na classe CString, portanto, temos que incluí-la em nosso código para usar as funções. Vamos discutir alguns:
strcpy ()
Esta é a função de cópia da string. Ele copia uma string em outra string.
Sintaxe:
strcpy(string1, string2);
Os dois parâmetros da função, string1 e string2, são strings. A função irá copiar a string string1 para a string 1.
strcat ()
Esta é a função de concatenação de string. Ele concatena strings.
Sintaxe:
strcat(string1, string2);
Os dois parâmetros da função, string1 e string2, são as strings a serem concatenadas. A função acima concatenará a string string2 ao final da string string1.
strlen ()
Esta é a função de comprimento da string. Ele retorna o comprimento da string passada a ele como o argumento.
Sintaxe:
strnlen(string1)
O parâmetro string1 é o nome da string cujo comprimento deve ser determinado. A função acima retornará o comprimento da string string1.
strcmp ()
Esta é a função de comparação de strings. É usado para comparação de strings.
Sintaxe:
strcmp(string1, string2);
A função acima retornará 0 se as strings string1 e string2 forem semelhantes, menor que 0 se string1
Exemplo:
O exemplo a seguir demonstra como usar as funções de string acima:
#include#include using namespace std;int main() {char name1[10] = "Guru99";char name2[10] = "John";char name3[10];int len;strcpy(name3, name1);cout << "strcpy( name3, name1) : " << name3 << endl;strcat(name1, name2);cout << "strcat( name1, name2): " << name1 << endl;len = strlen(name1);cout << "strlen(name1) : " << len << endl;return 0;}
Resultado:
Aqui está uma captura de tela do código:
Explicação do código:
- Incluindo o arquivo de cabeçalho iostream em nosso código. Isso nos permitirá ler e gravar no console.
- Incluindo a classe CString padrão em nosso código.
- Incluindo o namespace std para usar suas classes e funções sem chamá-lo.
- Chamar a função main () dentro da qual a lógica do programa deve ser adicionada. O {marca o início do corpo da função main ().
- Declarando uma string de 10 caracteres e dando a ela o nome name1. A string armazenará o valor Guru99.
- Declarar uma string de 10 caracteres e dar a ela o nome name2. A string armazenará o valor John.
- Declarar uma string de 10 caracteres e dar a ela o nome name3.
- Declarando uma variável inteira chamada len.
- Copiando a string name1 para a string name3.
- Imprimindo o valor da string name1 junto com algum texto no console. Deve imprimir Guru99.
- Concatenando as strings name2 ao final da string name1. O valor de name1 agora é Guru99John.
- Imprimindo o valor da string name1 junto com algum texto no console. Deve imprimir Guru99John
- Determinar o comprimento da string chamada name1 e atribuir o valor do comprimento à variável len.
- Imprimindo o valor da variável len junto com algum outro texto no console.
- A função main () deve retornar um valor se o programa funcionar bem.
- Fim do corpo da função main ().
Resumo
- Uma string é uma sequência de caracteres.
- Strings pertencem à classe de string padrão em C ++.
- Podemos declarar strings usando a string de caracteres do estilo C ou a classe de string padrão.
- A função strcpy () copia uma string em outra.
- A função strcat () concatena duas funções.
- A função strlen () retorna o comprimento de uma função.
- A função strcmp () compara duas strings.