C ++ String Append

C ++ String Append
La parola "aggiunta" significa aggiungere qualcosa sul retro di un'altra cosa. Una stringa può essere dichiarata in C ++ in due modi principali. Dichiarare una stringa come una matrice di cariche o come una costante-pointer-to-chars è un modo. Istanziare una struttura di dati sugli oggetti stringa dalla classe stringa è un altro modo. Per istanziare un oggetto String dalla classe String, la libreria String C ++ deve essere inclusa nel programma.

Considera la seguente stringa di destinazione:

"Ballando sulla luna"

'!'Come personaggio, può essere aggiunto alla stringa di destinazione, perché diventasse,

"Ballando sulla luna!"

La substring "S Surface" può essere aggiunta alla stringa di destinazione, perché diventasse,

"Ballando sulla superficie della luna"

La classe String C ++ ha la funzione membro, Append (), per l'appendimento. In realtà ci sono 9 varianti di questa funzione membro in C ++ 20. Tali varianti di funzioni sono chiamate funzioni sovraccarichi. Le 9 funzioni sovraccarichi saranno spiegate in questo articolo, a partire dal più semplice. Verrà anche spiegata la funzione stringa c ++ push_back (). Le stringhe dichiarate come array di cariche o come costante-pointer-to-chars non sono considerate per l'avvio. Solo le stringhe istanziate dalla classe String sono considerate per l'avvio.

BASIC_STRING & APPEND (const T&T)

Questa funzione membro restituisce la stringa aggiunta. Ci vuole come discussione, una serie di cartoni. Il seguente codice illustra questo:

#includere
#includere
Utilizzo dello spazio dei nomi std;
int main ()

String Target = String ("Dancing on the Moon");
char chs [] = "'' s superficie";
String Result = Target.append (chs);
cout << result << endl;
restituzione 0;

L'output è:

Ballare sulla superficie della luna

NOTA: vengono aggiunte sia le stringhe originali che quelle restituite.

BASIC_STRING & APPEND (const grafici* s)

Questa funzione membro è molto simile alla funzione sopra. Ci vuole un puntatore costante a Chars come argomento e restituisce la stringa aggiunta. Il seguente programma illustra questo:

#includere
#includere
Utilizzo dello spazio dei nomi std;
int main ()

String Target = String ("Dancing on the Moon");
const char* cpc = "'' s superficie";
String Result = Target.append (CPC);
cout << result << endl;
restituzione 0;

L'output è:

Ballare sulla superficie della luna

base_string & append (inizializer_list)

Questa funzione membro è simile a quanto sopra, ma prende l'elenco delle stringhe stesso come argomento. L'elenco può essere una stringa letterale in doppie citazioni o una sequenza di caratteri, che terminano con il carattere NUL (\ 0) nelle parentesi graffe. La funzione restituisce la stringa aggiunta. Il seguente programma lo illustra, per la stringa letterale in doppia citazione:

#includere
#includere
Utilizzo dello spazio dei nomi std;
int main ()

String Target = String ("Dancing on the Moon");
String Result = Target.append ("'' Surface");
cout << result << endl;
restituzione 0;

L'output è:

Ballare sulla superficie della luna

Il seguente programma lo illustra per la stringa di applicazione, come array-of-characters:

#includere
#includere
Utilizzo dello spazio dei nomi std;
int main ()

String Target = String ("Dancing on the Moon");
String Result = Target.append ('\' ',' s ', ",' s ',' u ',' r ',' f ',' a ',' c ',' e ',' \ 0 ');
cout << result << endl;
restituzione 0;

L'output è:

Ballare sulla superficie della luna

BASIC_STRING & APPEND (const Basic_string e STR)

Questa funzione membro è simile a quanto sopra, ma aggiunge tutti gli elenchi di un altro oggetto stringa istanziato. La funzione restituisce la stringa aggiunta. Il seguente programma illustra questo (per due oggetti stringa):

#includere
#includere
Utilizzo dello spazio dei nomi std;
int main ()

String Target = String ("Dancing on the Moon");
String AltStr = String ("'S Surface");
String :: iterator IT = altrirtr.inizio();
String Result = Target.append (altritr);
cout << result << endl;
restituzione 0;

L'output è:

Ballare sulla superficie della luna

BASIC_STRING & APPEND (inputIterator First, inputterator Last)

Questa funzione membro è simile a quanto sopra, ma per i suoi argomenti, prende un intervallo da un altro oggetto stringa istanziato, in cui "primo" è un iteratore che indica il primo elemento dell'intervallo, e "ultimo" è un altro iteratore che punti Subito dopo l'ultimo elemento della gamma. La funzione restituisce la stringa aggiunta. Il seguente programma lo illustra per due oggetti stringa:

#includere
#includere
Utilizzo dello spazio dei nomi std;
int main ()

String Target = String ("Dancing on the Moon");
String AltStr = String ("La superficie della Terra non è liscia");
String :: iterator IT = altrirtr.inizio();
String :: iterator fst = it + 9;
string :: iterator lst = it + 19;
String Result = Target.append (FST, LST);
cout << result << endl;
restituzione 0;

L'output è:

Ballare sulla superficie della luna

Notare come sono stati determinati gli iteratori FST e LST.

BASIC_STRING & APPEND (const grafico* s, size_type n)

Questa funzione membro è simile a quanto sopra, ma aggiunge i primi n caratteri della sequenza dei caratteri, indicati da un costante-pointer-to-car. La funzione restituisce la stringa aggiunta. Il seguente programma illustra questo:

#includere
#includere
Utilizzo dello spazio dei nomi std;
int main ()

String Target = String ("Dancing on the Moon");
const char* cpc = "'' s superficie";
String Result = Target.append (CPC, 7);
cout << result << endl;
restituzione 0;

L'output è:

Ballando sul surf della luna

base_string & append (const t & t, size_type POS, size_type n = npos)

Questa funzione membro è simile a quanto sopra, ma aggiunge n caratteri della sequenza dei caratteri indicati, da un costante-pointer-to-car, a partire dall'indice, POS. La funzione restituisce la stringa aggiunta. Il seguente programma illustra questo:

#includere
#includere
Utilizzo dello spazio dei nomi std;
int main ()

String Target = String ("Dancing on the Moon");
const char* cpc = "'' s superficie";
String Result = Target.append (CPC, 2, 5);
cout << result << endl;
restituzione 0;

L'output è:

Ballare sulla luna surf

Se il terzo argomento è assente, i personaggi vengono presi da POS alla fine della sua stringa.

base_string & append (const basic_string & str, size_type POS, size_type n = npos)

Questa funzione membro è simile a quella sopra, ma l'altra stringa è un oggetto stringa istanziato e non un costante-pointer-to-car. La funzione restituisce la stringa aggiunta. Il seguente programma illustra questo:

#includere
#includere
Utilizzo dello spazio dei nomi std;
int main ()

String Target = String ("Dancing on the Moon");
String Althertr = "'' S Surface";
String Result = Target.append (altritr, 2, 5);
cout << result << endl;
restituzione 0;

L'output è:

Ballare sulla luna surf

Se il terzo argomento è assente, i personaggi vengono presi da POS alla fine della sua stringa.

base_string e append (size_type n, grafico C)

Questa funzione del membro può aggiungere n numero dello stesso carattere, c. Il seguente programma illustra questo:

#includere
#includere
Utilizzo dello spazio dei nomi std;
int main ()

String Target = String ("Dancing on the Moon");
char ch = '!';
String Result = Target.append (3, ch);
cout << result << endl;
restituzione 0;

L'output è:

Ballare sulla luna!!!

void push_back (grafico c)

La funzione push_back () restituisce vuoto. Aggiunge solo un personaggio, c. Il seguente programma illustra questo:

#includere
#includere
Utilizzo dello spazio dei nomi std;
int main ()

String Target = String ("Dancing on the Moon");
char ch = '!';
bersaglio.push_back (ch);
cout << target << endl;
restituzione 0;

L'output è:

Ballare sulla luna!

Poiché non viene restituita nessuna nuova stringa, la stringa di destinazione originale dovrebbe essere modificata.

Inserimento

La classe String ha anche una funzione membro, insert (). È anche una funzione sovraccarica di diverse varianti. Uno degli argomenti principali per la funzione di inserimento è un iteratore. Se la funzione insert () si comporta come funzione append (), allora ha bisogno di un iteratore che punta subito dopo l'ultimo carattere della stringa. Tutte le funzioni insert () cambiano il target originale e non restituire la stringa aggiunta.

Il seguente programma mostra come un singolo carattere viene aggiunto a una stringa di destinazione, usando la funzione insert ():

#includere
#includere
Utilizzo dello spazio dei nomi std;
int main ()

String Target = String ("Dancing on the Moon");
String :: iterator it = target.FINE();
bersaglio.Inserisci (esso "!');
cout << target << endl;
restituzione 0;

L'output è:

Ballare sulla luna!

Il seguente programma mostra come un elenco di inizializzatori viene aggiunto a una stringa:

#includere
#includere
Utilizzo dello spazio dei nomi std;
int main ()

String Target = String ("Dancing on the Moon");
String :: iterator it = target.FINE();
bersaglio.insert (it, '\' ',' s ', ",' s ',' u ',' r ',' f ',' a ',' c ',' e ',' \ 0 ') ;
cout << target << endl;
restituzione 0;

L'output è:

Ballare sulla superficie della luna

Invece di usare l'iteratore, la funzione insert () può utilizzare il numero, che è uno maggiore dell'indice massimo. Questo numero può essere ottenuto dall'espressione, stringobj.misurare(). Il seguente codice illustra questo:

#includere
#includere
Utilizzo dello spazio dei nomi std;
int main ()

String Target = String ("Dancing on the Moon");
String :: iterator it = target.FINE();
const char* cpc = "'' s superficie";
bersaglio.Inserisci (target.size (), CPC);
cout << target << endl;
restituzione 0;

L'output è:

Ballare sulla superficie della luna

Il seguente programma è simile a quello sopra, ma l'altra stringa è un oggetto stringa:

#includere
#includere
Utilizzo dello spazio dei nomi std;
int main ()

String Target = String ("Dancing on the Moon");
String :: iterator it = target.FINE();
String AltStr = String ("'S Surface");
bersaglio.Inserisci (target.size (), altritr);
cout << target << endl;
restituzione 0;

L'output è:

Ballare sulla superficie della luna

Conclusione

Per aggiungere una stringa di destinazione, utilizzare la funzione membro String Class (). Esistono nove varianti sovraccariche della funzione membro append () in c++. Per aggiungere solo un carattere, è possibile utilizzare la funzione membro push_back (). La funzione membro insert () può anche essere utilizzata per aggiungere. In questo caso, è necessario accedere alla posizione, subito dopo l'ultimo carattere della stringa.