String c ++ anexar

String c ++ anexar
A palavra "Appender" significa adicionar algo na parte de trás de outra coisa. Uma string pode ser declarada em C ++ de duas maneiras principais. Declarar uma string como uma matriz de chars ou como um ponteiro constante para cartas é uma maneira. Instantar uma estrutura de dados de objeto de string da classe String é outra maneira. Para instanciar um objeto String da classe String, a biblioteca C ++ String deve ser incluída no programa.

Considere a seguinte sequência de destino:

"Dançando na lua"

'!'Como personagem, pode ser anexado à sequência de destino, para que ela se torne,

"Dançando na lua!"

A “superfície S” da substring pode ser anexada à string de destino, para que ela se torne,

"Dançando na superfície da lua"

A classe C ++ String tem a função de membro, append (), para anexar. Na verdade, existem 9 variantes desta função de membro em C ++ 20. Tais variantes de funções são chamadas de funções sobrecarregadas. As 9 funções sobrecarregadas serão explicadas neste artigo, começando com o mais simples. A função C ++ String push_back () também será explicada. Strings declaradas como matriz de cartas ou como pontos constantes para chars não são considerados para anexar. Somente strings instanciados da classe String são considerados para anexar.

Basic_String & Append (const T&T)

Esta função de membro retorna a string anexada. É preciso como argumento, uma variedade de cargas. O código a seguir ilustra o seguinte:

#incluir
#incluir
usando namespace std;
int main ()

String Target = String ("Dancing On the Moon");
CHAR CHS [] = "Surface";
resultado da string = alvo.anexar (CHS);
cout << result << endl;
retornar 0;

A saída é:

Dançando na superfície da lua

Nota: As seqüências originais e retornadas são anexadas.

Basic_string & Append (const Gráfico* s)

Esta função de membro é muito semelhante à função acima. É preciso um ponteiro constante para chars como argumento e retorna a string anexada. O programa a seguir ilustra o seguinte:

#incluir
#incluir
usando namespace std;
int main ()

String Target = String ("Dancing On the Moon");
const char* cpc = "Surface";
resultado da string = alvo.anexar (CPC);
cout << result << endl;
retornar 0;

A saída é:

Dançando na superfície da lua

Basic_string & Append (Initializer_list)

Esta função de membro é semelhante ao acima, mas leva a própria lista de strings como um argumento. A lista pode ser uma string literal em citações duplas ou uma sequência de caracteres, terminando com o caractere NUL (\ 0) em aparelho. A função retorna a sequência anexada. O programa a seguir ilustra isso, para a string literal em citações duplas:

#incluir
#incluir
usando namespace std;
int main ()

String Target = String ("Dancing On the Moon");
resultado da string = alvo.anexar ("Surface");
cout << result << endl;
retornar 0;

A saída é:

Dançando na superfície da lua

O programa a seguir ilustra isso para a string anexada, como matriz de caracteres:

#incluir
#incluir
usando namespace std;
int main ()

String Target = String ("Dancing On the Moon");
resultado da string = alvo.anexar ('\' ',' s ', ",' s ',' u ',' r ',' f ',' a ',' c ',' e ',' \ 0 ');
cout << result << endl;
retornar 0;

A saída é:

Dançando na superfície da lua

Basic_String & Append (const Basic_String & Str)

Esta função de membro é semelhante ao acima, mas anexa todas as listas de outro objeto de string instanciado. A função retorna a sequência anexada. O programa a seguir ilustra isso (para dois objetos de string):

#incluir
#incluir
usando namespace std;
int main ()

String Target = String ("Dancing On the Moon");
string outrostr = string ("Surface");
string :: iterator it = outrostr.começar();
resultado da string = alvo.anexar (outrostr);
cout << result << endl;
retornar 0;

A saída é:

Dançando na superfície da lua

Basic_string & Append (InputIterator First, InputIterator Último)

Essa função de membro é semelhante ao acima, mas para seus argumentos, é preciso um alcance de outro objeto de string instanciado, onde "primeiro" é um iterador que aponta para o primeiro elemento do intervalo, e "Last" é outro iterador que aponta logo após o último elemento do intervalo. A função retorna a sequência anexada. O programa a seguir ilustra isso para dois objetos de string:

#incluir
#incluir
usando namespace std;
int main ()

String Target = String ("Dancing On the Moon");
string outrostr = string ("A superfície da Terra não é suave");
string :: iterator it = outrostr.começar();
string :: iterator fst = it + 9;
string :: iterator lst = it + 19;
resultado da string = alvo.anexar (FST, LST);
cout << result << endl;
retornar 0;

A saída é:

Dançando na superfície da lua

Observe como os iteradores FST e LST foram determinados.

Basic_string & Append (const Chart* s, size_type n)

Essa função de membro é semelhante ao acima, mas anexa os primeiros n caracteres da sequência do personagem, apontados por um ponteiro constante para Char. A função retorna a sequência anexada. O programa a seguir ilustra o seguinte:

#incluir
#incluir
usando namespace std;
int main ()

String Target = String ("Dancing On the Moon");
const char* cpc = "Surface";
resultado da string = alvo.anexar (CPC, 7);
cout << result << endl;
retornar 0;

A saída é:

Dançando no surf da lua

Basic_String & Append (const T&T, size_type POS, size_type n = npos)

Essa função de membro é semelhante ao acima, mas anexa n caracteres da sequência de personagens apontados para, por um ponteiro constante a char, começando do índice, POS. A função retorna a sequência anexada. O programa a seguir ilustra o seguinte:

#incluir
#incluir
usando namespace std;
int main ()

String Target = String ("Dancing On the Moon");
const char* cpc = "Surface";
resultado da string = alvo.anexar (CPC, 2, 5);
cout << result << endl;
retornar 0;

A saída é:

Dançando no surf da lua

Se o terceiro argumento estiver ausente, os personagens serão levados de POS para o final de sua corda.

Basic_string & Append (const Basic_String & str, size_type pos, size_type n = npos)

Essa função de membro é semelhante ao acima, mas a outra string é um objeto de string instantiado e não um ponteiro constante para Char. A função retorna a sequência anexada. O programa a seguir ilustra o seguinte:

#incluir
#incluir
usando namespace std;
int main ()

String Target = String ("Dancing On the Moon");
string outrostr = "Surface";
resultado da string = alvo.anexar (outros, 2, 5);
cout << result << endl;
retornar 0;

A saída é:

Dançando no surf da lua

Se o terceiro argumento estiver ausente, os personagens serão levados de POS para o final de sua corda.

Basic_string & Append (size_type n, Gráfico C)

Esta função de membro pode anexar n número do mesmo personagem, c. O programa a seguir, ilustra o seguinte:

#incluir
#incluir
usando namespace std;
int main ()

String Target = String ("Dancing On the Moon");
char ch = '!';
resultado da string = alvo.anexar (3, CH);
cout << result << endl;
retornar 0;

A saída é:

Dançando na lua!!!

void push_back (gráfico c)

A função push_back () retorna vazios. Ele anexa apenas um personagem, C. O programa a seguir ilustra o seguinte:

#incluir
#incluir
usando namespace std;
int main ()

String Target = String ("Dancing On the Moon");
char ch = '!';
alvo.push_back (ch);
cout << target << endl;
retornar 0;

A saída é:

Dançando na lua!

Como nenhuma nova string é retornada, a sequência de destino original deve ser alterada.

Inserção

A classe String também possui uma função de membro, insert (). É também uma função sobrecarregada de diferentes variantes. Um dos principais argumentos para a função de inserção é um iterador. Se a função insert () se comportará como a função Append (), ela precisará de um iterador que aponte logo após o último personagem da string. Todas as funções insert () alteram o alvo original e não retornam a string anexada.

O programa a seguir mostra como um único caractere é anexado a uma string de destino, usando a função insert ():

#incluir
#incluir
usando namespace std;
int main ()

String Target = String ("Dancing On the Moon");
string :: iterator it = alvo.fim();
alvo.inserir (it, '!');
cout << target << endl;
retornar 0;

A saída é:

Dançando na lua!

O programa a seguir mostra como uma lista de inicializadores é anexada a uma string:

#incluir
#incluir
usando namespace std;
int main ()

String Target = String ("Dancing On the Moon");
string :: iterator it = alvo.fim();
alvo.inserir (it, '\' ',' s ', ",' s ',' u ',' r ',' f ',' a ',' c ',' e ',' \ 0 ') ;
cout << target << endl;
retornar 0;

A saída é:

Dançando na superfície da lua

Em vez de usar o iterador, a função insert () pode usar o número, que é maior que o índice máximo. Este número pode ser obtido pela expressão, Stringobj.tamanho(). O código a seguir ilustra o seguinte:

#incluir
#incluir
usando namespace std;
int main ()

String Target = String ("Dancing On the Moon");
string :: iterator it = alvo.fim();
const char* cpc = "Surface";
alvo.inserir (alvo.tamanho (), CPC);
cout << target << endl;
retornar 0;

A saída é:

Dançando na superfície da lua

O programa a seguir é semelhante ao acima, mas a outra string, é um objeto String:

#incluir
#incluir
usando namespace std;
int main ()

String Target = String ("Dancing On the Moon");
string :: iterator it = alvo.fim();
string outrostr = string ("Surface");
alvo.inserir (alvo.tamanho (), outros);
cout << target << endl;
retornar 0;

A saída é:

Dançando na superfície da lua

Conclusão

Para anexar a uma sequência de destino, use a função de membro da classe String Append (). Existem nove variantes sobrecarregadas da função de membro Append () em C++. Para anexar apenas um personagem, a função de membro push_back () pode ser usada. A função de membro insert () também pode ser usada para anexar. Nesse caso, a posição, logo após o último personagem da string, deve ser acessado.