strings c with examples
Uma Análise Intensiva dos Fundamentos de Strings em C ++.
Nesta série C ++, até agora, discutimos principalmente matrizes numéricas em C ++. Neste tutorial, discutiremos a manipulação com matrizes de caracteres que chamamos simplesmente de “Strings”.
A matriz de caracteres é principalmente uma string de estilo C compatível com C ++. Além dos arrays de caracteres no estilo C, C ++ também suporta uma classe de string “std :: string”. Além disso, neste tutorial, discutiremos os tipos de strings, bem como a diferença entre eles e sobre a programação de cada tipo em C ++.
=> Observe a lista completa de tutoriais em C ++ nesta série.
O que você aprenderá:
Matrizes de caracteres (strings de estilo C)
A string de estilo c é uma matriz de caracteres terminada com um caractere nulo “ 0”. Portanto, podemos definir um array do tipo char e as dimensões ou tamanho dos arrays e, então, podemos inicializá-lo como uma string ou array de caracteres.
Observe que é o compilador que termina uma string com um caractere nulo, portanto, se inicializarmos a matriz de caracteres com uma string (nas aspas duplas “”), precisamos deixar um espaço extra para o caractere nulo ao declarar o tamanho de uma matriz .
Vejamos alguns exemplos de declaração e inicialização de matrizes de caracteres.
char firstStr[] = 'This is Cstyle string'; char secStr[100] = {'s','o','f','t','w','a','r','e',' ','t','e','s','t','i','n','g',' ','h','e','l','p',' '}; char thirdStr[] = {'h','e','l','l','o',' '};
Todas as definições acima são definições de string de estilo C válidas em C ++. Observe que podemos declarar o tamanho real ou podemos deixar o tamanho em branco para que o compilador possa acomodar o tamanho dependendo da string que inicializamos.
Vamos pegar um Exemplo de ler e escrever matriz de caracteres em C ++
A seguir, é fornecido um programa simples que lê a string usando cin e a gera usando cout.
#include #include using namespace std; int main() { char firstStr[100]; cin>>firstStr; cout<<'you entered : '< Produto 1:
SoftwareTestingHelp.com
você digitou: SoftwareTestingHelp.com
Produto 2:
Esta é uma string estilo C
você digitou: Este
Se compararmos as duas saídas, vemos que quando inserimos a primeira string “SoftwareTestingHelp.com”, ela foi impressa como está.
Mas na segunda saída, embora tenhamos inserido a string como “Esta é uma string no estilo C”, a saída foi apenas “Este”.
A diferença na saída é porque, o operador ‘>>’ de cin que é usado para ler a string é tratado como a função ‘scanf’ de C, que lê apenas até o espaço encontrado. Portanto, 'cin com >>' é adequado para ler matrizes de caracteres sem espaço.
melhor software de backup de imagem grátis 2017
Portanto, embora o segundo espaço de saída tenha sido encontrado, a função cin o considerou como o final da string e leu apenas a primeira palavra.
Para ler uma linha inteira de caracteres, incluindo os espaços, C ++ usa a função 'get'.
Um programa de exemplo usando a função get é mostrado abaixo:
#include #include using namespace std; int main() { char firstStr[100]; cin.get(firstStr,100); cout<<'you entered : '< Resultado:
Este é softwareTestinghelp.com
você digitou: Este é softwareTestinghelp.com
Conforme mostrado no exemplo , a função get de cin usa dois argumentos. O primeiro argumento é a variável da matriz de caracteres na qual a string deve ser lida, enquanto o segundo argumento é o tamanho máximo da matriz.
As strings de estilo C também suportam várias funções de string que permitem aos usuários manipular as strings. Essas funções são definidas no cabeçalho “cstring”.
Apresentamos uma tabela abaixo que lista várias funções de string que podem ser usadas para manipular strings de estilo C.
Não Função Argumentos Descrição 1 forte s1, s2 Copia a string s2 para a string s1 dois strcat s1, s2 Anexa ou concatena a string s2 ao final da string s1 3 Strlen s1 Retorna o comprimento da string s1 4 strcmp s1, s2 Retorna 0: s1 e s2 são iguais
<0:s1 > 0: s1> s2 5 strchr s1, ch Retorna um ponteiro para a primeira ocorrência do caractere ch na string s1 e a string daí em diante 6 strstr s1, s2 Retorna a primeira ocorrência da string s2 na string s1
O programa a seguir mostra o uso de algumas dessas funções em C ++:
#include #include using namespace std; int main() { char firstStr[50] = 'This is softwareTestingHelp.com'; char secStr[50] = 'a testing platform'; int len = strlen(firstStr); cout<<'Length of firstStr : '< Resultado:
Comprimento do firstStr: 31
String resultante (secStr): softwareTesting
Comparando firstStr e secStr: -31
SecStr concatenado: teste de software para você
A primeira ocorrência de i em firststr em: s é softwareTestingHelp.com
Classe String em C ++
String em C ++ que é definida pela classe “std :: string” é uma representação do fluxo de caracteres em um objeto. Em outras palavras, a classe String é uma coleção de objetos string. Essa classe de string é parte do namespace std e é definida no cabeçalho “string.h”.
Vamos discutir algumas das diferenças básicas entre a classe de string e a matriz de caracteres.
- Embora as matrizes de caracteres que discutimos acima sejam alocadas estaticamente durante o tempo de compilação, as strings são objetos e, portanto, podem ser alocadas dinamicamente.
- Como as matrizes de caracteres são estáticas por natureza, não podem ser reduzidas ou expandidas depois de definidas. Portanto, se tivermos um array de caracteres de tamanho 100 e eu o inicializar com a palavra “Hello”, o espaço restante é desperdiçado.
Char mystr [100] = “Olá”;
Aqui, os 95 locais restantes são perdidos.
Ao contrário disso, os objetos string são dinâmicos por natureza e ocuparão o espaço exato para o valor.
- As matrizes de caracteres têm desempenho mais rápido, enquanto as strings são mais lentas.
- As matrizes de caracteres têm poucas funções operando nelas que podem manipulá-las. A classe String tem várias funções, incluindo as funções do iterador.
Estas são algumas das diferenças básicas entre a matriz de caracteres e a classe de objeto de string.
A seguir, veremos alguns exemplos de classe string junto com algumas operações básicas que são realizadas em objetos da classe string.
Um exemplo para declarar e inicializar a classe string.
#include #include using namespace std; int main() { string str='This is string object in C++'; cout<<'
String entered is :'<No exemplo acima, declaramos e inicializamos um objeto string usando a classe “string”. Este é um exemplo simples. Agora vamos ter um programa para ler a string do usuário e também demonstrar algumas funções de string, incluindo encontrar o comprimento e comparar duas strings.
#include #include using namespace std; int main() { string str; cout<<'Input the string
'; getline(cin,str); cout<<'
String entered is :'< Resultado:
Insira a string
SoftwareTestingHelp
A string inserida é: SoftwareTestingHelp
O comprimento da corda str é: 19
Duas cordas são iguais
Novo str1: SoftwareTestingHelp.com
str novo comprimento: 0
Na ilustração acima, usamos várias funções de string para manipular as strings. Depois de declarar a string, usamos a função “getline” da classe string para ler a string da entrada padrão.
Depois de ler a string, encontramos seu comprimento usando a função “length”. Se precisarmos comparar duas strings para avaliar se são iguais ou não, podemos usar a função “comparar” da classe string. Se a função retornar 0, as duas strings são iguais, caso contrário, a função retornará um valor diferente de zero.
Ainda outra função é acrescentar outra string ao final da string existente. Esta é a função “anexar”. Neste exemplo, acrescentamos ‘.com’ à string str1 já existente com o valor 'softwaretesting'.
A última função no exemplo é a função clear, que é usada para limpar o conteúdo do objeto string de chamada. Neste exemplo, limpamos o conteúdo do objeto str para que seu comprimento se torne 0.
Conclusão
Neste tutorial, cobrimos a matriz de caracteres, que também é chamada de strings no estilo C, juntamente com o básico da classe string. A classe String vem com mais utilitários como a classe iterator, pois é uma classe de contêiner.
Veremos mais sobre a classe string e suas funções em nossos próximos tutoriais STL !!
=> Visite aqui para ver a série de treinamento C ++ para todos.
Leitura recomendada
- Classificação Shell em C ++ com exemplos
- Funções de data e hora em C ++ com exemplos
- Tutorial Java String com String Buffer e String Builder
- Classificação de seleção em C ++ com exemplos
- Funções de string Python
- Tutorial Python DateTime com exemplos
- Cortar comando no Unix com exemplos
- Mais de 70 MELHORES tutoriais em C ++ para aprender programação C ++ GRATUITAMENTE