Strings C++:strcpy(), strcat(), strlen(), strcmp() EXEMPLOS
O que é uma String?
Uma string é uma sequência de caracteres. Uma string C++ é um objeto da classe std::string. Os caracteres são sequências de bytes armazenadas com acesso a um único byte de caractere permitido.
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 de C++, você aprenderá:
- O que é uma string?
- Declarando strings
- Cadeia de caracteres em estilo C
- std::string
- Acessando valores de string
- Funções de string:
- strcpy()
- strcat()
- strlen()
- strcmp()
Declarando strings
C++ suporta dois tipos de declarações de string:
- Sequência de caracteres em estilo C
- Tipo de classe de string
Cadeia de caracteres em estilo C
Este tipo de declaração de string foi introduzido na linguagem de programação C. C++ continua a apoiá-lo. É simplesmente uma matriz unidimensional de caracteres terminada com um caractere nulo (\0). Uma string terminada em null tem caracteres que compõem a string seguida por um null.
Considere a declaração de string dada 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 um tamanho de 5. O espaço extra permite a retenção do caractere nulo.
Usando a regra de inicialização do array, podemos escrever a declaração acima da seguinte forma:
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 string que suporta várias operações de string. Ele é escrito como std::string.
Para usar essa classe, primeiro devemos incluí-la em nosso espaço de trabalho usando o pré-processador #include conforme mostrado abaixo:
#include<string>
Em seguida, 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:
#include <iostream> using namespace std; int main() { char name[5] = { 'J', 'o', 'h', 'n', '\0' }; cout << "String value is: "; cout << name << endl; return 0; }
Saída:
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.
- Chamando 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 caracteres e dando 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 name 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 <iostream> #include <string> using namespace std; int main() { string name = "Guru99"; cout << "The name is : " << name << endl; return 0; }
Saída:
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.
- Chamando 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 e dando a ela o nome name. A string armazenará o valor Guru99.
- Imprimir o valor do nome da string ao lado de 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:
Muitas vezes você vai querer 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í-las em nosso código para usar as funções. Vamos discutir alguns:
strcpy()
Esta é a função de cópia de string. Ele copia uma string em outra string.
Sintaxe:
strcpy(string1, string2);
Os dois parâmetros para a função, string1 e string2, são strings. A função copiará a string string1 na string 1.
strcat()
Esta é a função de concatenação de strings. Ele concatena strings.
Sintaxe:
strcat(string1, string2);
Os dois parâmetros para a função, string1 e string2 são as strings a serem concatenadas. A função acima irá concatenar a string string2 ao final da string string1.
strlen()
Esta é a função de comprimento de string. Ele retorna o comprimento da string passada para ele como 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 <iostream> #include <cstring> 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; }
Saída:
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.
- Chamando 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.
- Declarando uma string de 10 caracteres e dando 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 na string name3.
- Imprimir o valor da string name1 ao lado de algum texto no console. Deve imprimir Guru99.
- Concatenando as strings name2 ao final da string name1. O valor de name1 agora é Guru99John.
- Imprimir o valor da string name1 ao lado de algum texto no console. Deve imprimir Guru99John
- Determinando o comprimento da string chamada name1 e atribuindo o valor de comprimento à variável len.
- Imprimir 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 para 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.
Linguagem C
- Strings Java
- Java enum Strings
- Variáveis e tipos C++:int, double, char, string, bool
- Matrizes em C++ | Declare | Inicializar | Ponteiro para exemplos de matriz
- C++ do… while loop com exemplos
- Ponteiros C++ com exemplos
- Tipo de dados C++ Char com exemplos
- Sobrecarga do operador C++ com exemplos
- Funções C++ com exemplos de programas
- Strings em C:como declarar variável, inicializar, imprimir, exemplo