Συνένωση συμβολοσειράς σε C ++

String Concatenation C



Ο τρόπος συγχώνευσης δύο ή περισσότερων συμβολοσειρών ονομάζεται συνένωση συμβολοσειρών. Είναι μια πολύ συνηθισμένη εργασία για κάθε γλώσσα προγραμματισμού. Ορισμένες γλώσσες προγραμματισμού χρησιμοποιούν έναν συγκεκριμένο τελεστή, ορισμένες γλώσσες προγραμματισμού χρησιμοποιούν την ενσωματωμένη συνάρτηση και ορισμένες γλώσσες προγραμματισμού χρησιμοποιούν τόσο χειριστή όσο και ενσωματωμένη συνάρτηση για να συνδυάσουν τιμές συμβολοσειράς. Η συνένωση συμβολοσειράς μπορεί να γίνει χρησιμοποιώντας τον τελεστή «+» και διαφορετικούς τύπους ενσωματωμένων συναρτήσεων στο C ++. Οι χρήσεις του τελεστή «+» και οι διαφορετικές ενσωματωμένες συναρτήσεις για συνδυασμό συμβολοσειρών στο C ++ έχουν εξηγηθεί σε αυτό το σεμινάριο.

Προαπαιτούμενο:

Πριν ελέγξετε τα παραδείγματα αυτού του σεμιναρίου, πρέπει να ελέγξετε ότι ο μεταγλωττιστής g ++ είναι εγκατεστημένος ή όχι στο σύστημα. Εάν χρησιμοποιείτε Visual Studio Code, εγκαταστήστε τις απαραίτητες επεκτάσεις για να μεταγλωττίσετε τον πηγαίο κώδικα C ++ για να δημιουργήσετε τον εκτελέσιμο κώδικα. Εδώ, η εφαρμογή Visual Studio Code χρησιμοποιήθηκε για τη μεταγλώττιση και την εκτέλεση του κώδικα C ++.







Χρησιμοποιώντας τον τελεστή '+' για τη σύνδεση συμβολοσειρών:

Η χρήση του τελεστή «+» είναι ο απλούστερος τρόπος συνδυασμού δύο συμβολοσειρών. Δημιουργήστε ένα αρχείο C ++ με τον ακόλουθο κώδικα για συνδυασμό δύο συμβολοσειρών χρησιμοποιώντας τον τελεστή '+'. Δύο κενές μεταβλητές συμβολοσειράς δηλώνονται στην αρχή του κώδικα. Αυτές οι μεταβλητές έχουν χρησιμοποιηθεί για την αποθήκευση της εισόδου που λαμβάνεται από τον χρήστη. Στη συνέχεια, δύο τιμές συνδυάστηκαν για να δημιουργήσουν τη νέα συμβολοσειρά που εκτυπώθηκε αργότερα.



// Συμπεριλάβετε τις απαραίτητες βιβλιοθήκες

#περιλαμβάνω

#περιλαμβάνω

intκύριος()

{

// Καθυστέρηση δύο μεταβλητών συμβολοσειράς

ώρες::σειράstrData1='', strData2=''?

// Λάβετε δύο τιμές συμβολοσειράς από το χρήστη

ώρες::κόστος<<'Εισαγάγετε την πρώτη συμβολοσειρά:'?

ώρες::τζιν>>strData1?

ώρες::κόστος<<'Εισαγάγετε τη δεύτερη συμβολοσειρά:'?

ώρες::τζιν>>strData2?

// Συνδυάστε τις τιμές συμβολοσειράς

ώρες::σειράσυνδυασμός=strData1+strData2?

// Εκτύπωση της τιμής συμβολοσειράς συμβολοσειράς

ώρες::κόστος << 'Η συμβολοσειρά συμβολοσειράς είναι:' <<συνδυασμός<< ' n'?

ΕΠΙΣΤΡΟΦΗ 0?

}

Παραγωγή:

Εάν ο χρήστης πληκτρολογήσει « γεια σας ' και ' Κόσμος 'Ως τιμές εισόδου μετά την εκτέλεση του κώδικα, τότε θα εμφανιστεί η ακόλουθη έξοδος.







Χρησιμοποιώντας ένα βρόχο για τη σύνδεση συμβολοσειρών:

Η χρήση ενός βρόχου είναι ένας άλλος τρόπος για να συνδυάσετε τις τιμές συμβολοσειράς του πίνακα char. Δημιουργήστε ένα αρχείο C ++ με τον ακόλουθο κώδικα για να ελέγξετε τη χρήση του βρόχου 'for' για συνδυασμό των τιμών συμβολοσειράς που είναι αποθηκευμένες σε δύο μεταβλητές πίνακα char. Δύο μεταβλητές συμβολοσειράς και δύο συστοιχίες χαρακτήρων 100 στοιχείων έχουν δηλωθεί στον κώδικα. Οι τιμές εισόδου θα αποθηκευτούν στις μεταβλητές συμβολοσειράς και η συνάρτηση strcpy () θα αποθηκεύσει τις τιμές συμβολοσειράς στις συστοιχίες char. Στη συνέχεια, το μήκος της πρώτης συστοιχίας char έχει μετρηθεί και χρησιμοποιείται στον βρόχο 'for' για να προσθέσει το περιεχόμενο της δεύτερης συστοιχίας char στο τέλος της πρώτης συστοιχίας char. Οι τιμές του πρώτου πίνακα char θα εκτυπωθούν μετά τον συνδυασμό όλων των στοιχείων του δεύτερου πίνακα char.

// Συμπεριλάβετε τις απαραίτητες βιβλιοθήκες

#περιλαμβάνω

#περιλαμβάνω

χρησιμοποιώντας ονομαστικου χωρουώρες?

intκύριος()

{

// Καθυστέρηση δύο μεταβλητών συμβολοσειράς

απανθρακώνωchrData1[100], chrData2[100]?

// Δηλώστε μια μεταβλητή συμβολοσειράς

συμβολοσειρά strData1, strData2?

// Πάρτε τα πρώτα δεδομένα συμβολοσειράς και μετατρέψτε τα σε πίνακα χαρακτήρων

κόστος<<'Εισαγάγετε την πρώτη συμβολοσειρά:'?

τζιν>>strData1?

strcpy(chrData1, strData1.c_str())?

// Πάρτε τα δεδομένα δεύτερης συμβολοσειράς και μετατρέψτε τα σε πίνακα χαρακτήρων

κόστος<<'Εισαγάγετε τη δεύτερη συμβολοσειρά:'?

τζιν>>strData2?

strcpy(chrData2, strData2.c_str())?

// Μετρήστε το συνολικό στοιχείο του πρώτου πίνακα χαρακτήρων

intλεν= στρλέν(chrData1)?

/ *

Επαναλάβετε το βρόχο για να εισαγάγετε όλα τα στοιχεία του

ο δεύτερος πίνακας χαρακτήρων

στον πρώτο πίνακα χαρακτήρων

* /


Για(intΕγώ=0?Εγώ< μέγεθος του(chrData2)?Εγώ++)

{

chrData1[λεν] =chrData2[Εγώ]?

λεν++?

}

// Εκτυπώστε το συνδεδεμένο outpyt

κόστος << 'Η συνδεδεμένη συμβολοσειρά είναι:' <<chrData1<<endl?

ΕΠΙΣΤΡΟΦΗ 0?

}

Παραγωγή:

Εάν ο χρήστης πληκτρολογήσει 'Linux' και 'Υπόδειξη' ως τιμές εισόδου μετά την εκτέλεση του κώδικα, τότε θα εμφανιστεί η ακόλουθη έξοδος.



Χρησιμοποιώντας τη συνάρτηση strcat () για συνένωση συμβολοσειράς:

ο strcat () είναι μια ενσωματωμένη συνάρτηση για τη σύνδεση δύο τιμών συμβολοσειράς. Παίρνει δύο συστοιχίες char ως τιμές ορίσματος και τη συνδυασμένη τιμή των πινάκων. Η σύνταξη αυτής της συνάρτησης έχει δοθεί παρακάτω.

Σύνταξη:

strcat(απανθρακώνω *συστοιχία 1,απανθρακώνω *πίνακας2)

Δημιουργήστε ένα αρχείο C ++ με τον ακόλουθο κώδικα για να συνδέσετε την τιμή δύο συστοιχιών char χρησιμοποιώντας τη συνάρτηση strcat (). Δύο συστοιχίες char έχουν δηλωθεί στον κώδικα για την αποθήκευση των τιμών εισόδου που έχουν ληφθεί από τον χρήστη. Στη συνέχεια, η συνάρτηση strcat () χρησιμοποίησε για την εκτύπωση της συνενωμένης τιμής δύο συστοιχιών char.

// Συμπεριλάβετε τις απαραίτητες βιβλιοθήκες

#περιλαμβάνω

#περιλαμβάνω

χρησιμοποιώντας ονομαστικου χωρουώρες?

intκύριος()

{

// Καθυστέρηση δύο μεταβλητών συμβολοσειράς

απανθρακώνωchrData1[100], chrData2[100]?

// Πάρτε τα πρώτα δεδομένα συμβολοσειράς

κόστος<<'Εισαγάγετε την πρώτη συμβολοσειρά:'?

τζινΤοgetline(chrData1,100)?

// Πάρτε τα δεδομένα δεύτερης συμβολοσειράς

κόστος<<'Εισαγάγετε τη δεύτερη συμβολοσειρά:'?

τζινΤοgetline(chrData2,100)?

// Εκτυπώστε τη συνδεδεμένη συμβολοσειρά

κόστος << 'Το συνδεδεμένο String είναι:' << strcat(chrData1, chrData2) <<endl?

κόστος <<chrData1?

ΕΠΙΣΤΡΟΦΗ 0?

}

Παραγωγή:

Εάν ο χρήστης πληκτρολογήσει « C ++ ' και ' Προγραμματισμός 'Ως τιμές εισόδου μετά την εκτέλεση του κώδικα, τότε θα εμφανιστεί η ακόλουθη έξοδος.

Χρησιμοποιώντας τη συνάρτηση append () για τη συνένωση συμβολοσειράς:

ο προσαρτώ() είναι μια άλλη ενσωματωμένη συνάρτηση που επιστρέφει τη συνδεδεμένη συμβολοσειρά δύο τιμών συμβολοσειράς και λαμβάνει μια συμβολοσειρά στο όρισμα. Η σύνταξη αυτής της συνάρτησης δίνεται παρακάτω.

Σύνταξη:

σειρά&σειρά::προσαρτώ ( constσειρά&Π)

Δημιουργήστε ένα αρχείο C ++ με τον ακόλουθο κώδικα για να συνδέσετε δύο τιμές συμβολοσειράς χρησιμοποιώντας τη συνάρτηση append (). Μεταβλητές τεσσάρων συμβολοσειρών έχουν δηλωθεί στον κώδικα. Μια μεταβλητή συμβολοσειράς θα αποθηκεύσει την τιμή συμβολοσειράς συμβολοσειράς και τρεις τιμές συμβολοσειράς έχουν αποθηκευτεί στις άλλες τρεις μεταβλητές που έχουν συνδεθεί χρησιμοποιώντας τη συνάρτηση προσάρτησης (). Η συνάρτηση προσάρτησης () κλήθηκε τρεις φορές στον κώδικα για να συνδέσει τις τιμές τριών μεταβλητών συμβολοσειράς και να προσαρτήσει τις τιμές στην μεταβλητή μεταβλητή που εκτυπώθηκε αργότερα.

// Συμπεριλάβετε τις απαραίτητες βιβλιοθήκες

#περιλαμβάνω

χρησιμοποιώντας ονομαστικου χωρουώρες?

intκύριος()

{

// Δηλώστε τη μεταβλητή εξόδου

string outstr?

// Εκχωρήστε τρεις τιμές συμβολοσειράς

συμβολοσειρά συμβολοσειράς 1= 'ΕΓΩ'?

string string2= ' Σαν'?

string string3= 'Προγραμματισμός.'?

// Προσθέστε τις τρεις συμβολοσειρές στη μεταβλητή εξόδου

outstr.προσαρτώ(χορδή 1)?

outstr.προσαρτώ(χορδή 2)?

outstr.προσαρτώ(χορδή 3)?

// Εκτυπώστε τη συνδεδεμένη έξοδο

κόστος << 'Το συνδεδεμένο String είναι:' <<outstr<< ' n'?

ΕΠΙΣΤΡΟΦΗ 0?

}

Παραγωγή:

Η ακόλουθη έξοδος θα εμφανιστεί μετά την εκτέλεση του παραπάνω κώδικα.

Συμπέρασμα:

Σε αυτό το σεμινάριο εξηγήθηκαν διαφορετικοί τρόποι για τη συνένωση συμβολοσειρών στο C ++ χρησιμοποιώντας τέσσερα απλά παραδείγματα. Οι τιμές συμβολοσειράς μπορούν να συνδεθούν χρησιμοποιώντας μια ενσωματωμένη συνάρτηση και χωρίς τη χρήση μιας ενσωματωμένης συνάρτησης σε C ++. Ο προγραμματιστής C ++ μπορεί να χρησιμοποιήσει οποιονδήποτε από τους τρόπους που εμφανίζονται εδώ για να συνδέσει τις τιμές συμβολοσειράς.