Rentetan C ++: strcpy (), strcat (), strlen (), strcmp () CONTOH

Isi kandungan:

Anonim

Apa itu tali?

Rentetan adalah urutan watak. Rentetan C ++ adalah objek kelas std :: string. Watak disimpan urutan bait dengan akses ke satu byte watak dibenarkan.

Rentetan C ++ memperuntukkan memori secara dinamik. Lebih banyak memori boleh dialokasikan ke rentetan semasa masa berjalan jika diperlukan. Oleh kerana tidak ada pra-peruntukan memori, tidak ada pembaziran memori. Kami dapat melakukan pelbagai operasi pada rentetan, termasuk perbandingan, penggabungan, penukaran, dll.

Dalam tutorial C ++ ini, anda akan belajar:

  • Apa itu tali?
  • Menyatakan Rentetan
    • Rentetan Watak C-Style
    • std :: tali
  • Mengakses Nilai rentetan
  • Fungsi Rentetan:
    • strcpy ()
    • strcat ()
    • strlen ()
    • strcmp ()
    • Contoh:

Menyatakan Rentetan

C ++ menyokong dua jenis pernyataan rentetan:

  • Rentetan watak gaya-C
  • Jenis kelas rentetan

Rentetan Watak C-Style

Deklarasi rentetan jenis ini diperkenalkan dalam bahasa pengaturcaraan C. C ++ terus menyokongnya. Ini hanyalah susunan watak satu dimensi yang diakhiri dengan watak kosong (\ 0). String yang diakhiri nol mempunyai watak yang membentuk rentetan kemudian diikuti oleh nol.

Pertimbangkan pernyataan rentetan yang diberikan di bawah:

char name[5] = {'J', 'o', 'h', 'n', '\0'};

Deklarasi di atas menghasilkan rentetan yang membentuk perkataan John. Kata ini mempunyai 4 watak, tetapi rentetan mempunyai ukuran 5. Ruang tambahan memungkinkan untuk memegang watak nol.

Dengan menggunakan aturan inisialisasi array, kita dapat menulis pernyataan di atas sebagai berikut:

char name[] = "John";

Perhatikan bahawa anda tidak perlu meletakkan watak nol di hujung pemalar rentetan. Penyusun C ++ secara automatik akan meletakkan '\ 0' di hujung rentetan ketika memulakan array.

std :: tali

Perpustakaan C ++ standard menyediakan kelas rentetan yang menyokong pelbagai operasi rentetan. Ia ditulis sebagai std :: string.

Untuk menggunakan kelas ini, pertama-tama kita mesti memasukkannya ke ruang kerja kita menggunakan preprosesor #include seperti ditunjukkan di bawah:

#include

Seterusnya, kita dapat menyatakan rentetan kita menggunakan kata kunci rentetan. Sebagai contoh:

string name = "John";

Pernyataan di atas akan membuat rentetan yang diberi nama untuk menahan nilai John.

Mengakses Nilai rentetan

Di C ++, kita dapat mengakses nilai string menggunakan nama string. Sebagai contoh:

#include using namespace std;int main() {char name[5] = { 'J', 'o', 'h', 'n', '\0' };cout << "String value is: ";cout << name << endl;return 0;}

Pengeluaran:

Berikut adalah tangkapan skrin kod:

Penjelasan Kod:

  1. Termasuk fail header iostream dalam kod kami. Ini akan membolehkan kita membaca dan menulis ke konsol.
  2. Termasuk ruang nama std untuk menggunakan kelas dan fungsinya tanpa memanggilnya.
  3. Memanggil fungsi utama () di mana logik program harus ditambahkan. Fungsi {markah permulaan badan utama ().
  4. Menyatakan rentetan watak dan memberikannya nama namanya. Rentetan itu akan menyimpan nilai John. Ruang tambahan akan menyimpan watak kosong.
  5. Mencetak beberapa teks pada konsol.
  6. Mencetak nilai rentetan yang diberi nama pada konsol.
  7. Fungsi utama () harus mengembalikan nilai jika program berjalan dengan baik.
  8. Akhir badan utama () fungsi.

Berikut adalah contoh lain menggunakan kelas rentetan standard C ++:

#include #include using namespace std;int main() {string name = "Guru99";cout << "The name is : " << name << endl;return 0;}

Pengeluaran:

Berikut adalah tangkapan skrin kod:

Penjelasan Kod:

  1. Termasuk fail header iostream dalam kod kami. Ini akan membolehkan kita membaca dan menulis ke konsol.
  2. Termasuk kelas rentetan standard dalam kod kami.
  3. Termasuk ruang nama std untuk menggunakan kelas dan fungsinya tanpa memanggilnya.
  4. Memanggil fungsi utama () di mana logik program harus ditambahkan. Fungsi {markah permulaan badan utama ().
  5. Menyatakan rentetan dan memberikannya nama namanya. Rentetan itu akan menyimpan nilai Guru99.
  6. Mencetak nilai nama rentetan di samping beberapa teks pada konsol.
  7. Fungsi utama () harus mengembalikan nilai jika program berjalan dengan baik.
  8. Akhir badan utama () fungsi.

Fungsi Rentetan:

Anda selalunya mahu memanipulasi rentetan. C ++ menyediakan pelbagai fungsi yang boleh anda gunakan untuk ini. Fungsi-fungsi ini ditentukan dalam kelas CString, oleh itu, kita harus memasukkannya ke dalam kod kita untuk menggunakan fungsi tersebut. Mari kita bincangkan beberapa perkara:

strcpy ()

Ini adalah fungsi salinan rentetan. Ia menyalin satu rentetan ke rentetan yang lain.

Sintaks:

strcpy(string1, string2);

Dua parameter fungsi, string1 dan string2, adalah rentetan. Fungsi akan menyalin rentetan string1 ke dalam rentetan 1.

strcat ()

Ini adalah fungsi gabungan tali. Ia menggabungkan rentetan.

Sintaks:

strcat(string1, string2);

Dua parameter fungsi, string1 dan string2 adalah rentetan yang harus digabungkan. Fungsi di atas akan menggabungkan rentetan string2 hingga akhir rentetan rentetan1.

strlen ()

Ini adalah fungsi panjang tali. Ia mengembalikan panjang rentetan yang diberikan kepadanya sebagai argumen.

Sintaks:

strnlen(string1)

Parameter string1 adalah nama tali yang panjangnya akan ditentukan. Fungsi di atas akan mengembalikan panjang tali rentetan1.

strcmp ()

Ini adalah fungsi membandingkan rentetan. Ia digunakan untuk perbandingan rentetan.

Sintaks:

strcmp(string1, string2);

Fungsi di atas akan mengembalikan 0 jika string string1 dan string2 serupa, kurang dari 0 jika string1 string2.

Contoh:

Contoh berikut menunjukkan cara menggunakan fungsi rentetan di atas:

#include #include 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;}

Pengeluaran:

Berikut adalah tangkapan skrin kod:

Penjelasan Kod:

  1. Termasuk fail header iostream dalam kod kami. Ini akan membolehkan kita membaca dan menulis ke konsol.
  2. Termasuk kelas CString standard dalam kod kami.
  3. Termasuk ruang nama std untuk menggunakan kelas dan fungsinya tanpa memanggilnya.
  4. Memanggil fungsi utama () di mana logik program harus ditambahkan. Fungsi {markah permulaan badan utama ().
  5. Menyatakan rentetan 10 aksara dan memberikannya nama nama1. Rentetan itu akan menyimpan nilai Guru99.
  6. Menyatakan rentetan 10 aksara dan memberikannya nama nama2. Rentetan itu akan menyimpan nilai John.
  7. Menyatakan rentetan 10 aksara dan memberikannya nama nama3.
  8. Menyatakan pemboleh ubah integer bernama len.
  9. Menyalin nama rentetan1 ke dalam nama rentetan3.
  10. Mencetak nilai nama rentetan1 di samping beberapa teks pada konsol. Ia harus mencetak Guru99.
  11. Menyatukan nama rentetan2 hingga akhir nama rentetan1. Nilai nama1 kini menjadi Guru99John.
  12. Mencetak nilai nama rentetan1 di samping beberapa teks pada konsol. Ia harus mencetak Guru99John
  13. Menentukan panjang rentetan yang diberi nama1 dan memberikan nilai panjang kepada pemboleh ubah len.
  14. Mencetak nilai pemboleh ubah len bersama beberapa teks lain di konsol.
  15. Fungsi utama () harus mengembalikan nilai jika program berjalan dengan baik.
  16. Akhir badan utama () fungsi.

Ringkasan

  • Rentetan adalah urutan watak.
  • String tergolong dalam kelas rentetan standard di C ++.
  • Kita boleh menyatakan rentetan menggunakan rentetan watak gaya-C atau kelas rentetan standard.
  • Fungsi strcpy () menyalin satu rentetan ke rentetan yang lain.
  • Fungsi strcat () menggabungkan dua fungsi.
  • Fungsi strlen () mengembalikan panjang fungsi.
  • Fungsi strcmp () membandingkan dua rentetan.