C++ - Mencari String dengan strstr() - nblognlife

C++ - Mencari String dengan strstr()

Contoh Program C++ Mencari String dengan strstr()

    C++ menyediakan suatu fungsi bawaan yang dapat kita gunakan untuk mencari string (substring) pada string.  Fungsi tersebut adalah strstr().

Bentuk penulisan:
strstr(string1, string2);

Keterangan
string1: String yang menjadi tempat pencarian
string2: String yang dicari

Berikut adalah program yang menunjukkan penggunaan fungsi strstr().
/*
      C++ - strchr()
      Microsoft visual Studio Express 2012
      [RS]
*/

#include <iostream>
#include <conio.h>
#include <string.h>
using namespace std;

int main()
{
      char str1[] = "nblognlife.com";
      char str2[] = "C++ Programming Language";
      char *p1; //pointer ke string
      char *p2; //pointer ke string
      char *p3; //pointer ke string

      p1 = strstr(str1,"lif");
      p2 = strstr(str2,"Lang");
      p3 = strstr(str2,"PROG");

      cout<<"C++ - strstr()"<<endl;
      cout<<"--------------"<<endl;

      if(p1)
            cout<<"\""<<p1<<"\" ditemukan pada string "<<str1<<endl;

      if(p2)
            cout<<"\""<<p2<<"\" ditemukan pada string "<<str2<<endl;

      if(p3)
            cout<<"\""<<p3<<"\" ditemukan pada string "<<str2<<endl;
           
      _getche();
      return 0;
}

Output
C++ - strstr()
--------------
"life.com" ditemukan pada string nblognlife.com
"Language" ditemukan pada string C++ Programming Language

Penjelasan
Pertama, pada output program terlihat bahwa p3 tidak pernah dicetak dilayar, padahal jika diperhatikan string “PROG” ada pada string “C++ Programming Language”. Mengapa demikian? Hal ini dikarenakan strstr() menerapkan case sensitive (huruf kapital dan huruf kecil dibedakan).

     Jika tidak ingin memberlakukan case sensitive maka kita harus sedikit berpikir untuk melakukannya. Bagaimana? Kita bisa melakukan konversi string ke huruf kecil atau ke huruf kapital, tentunya “di belakang layar”. Misalkan jika program di atas sedikit dimodifikasi dengan membuat string yang dicari diambil dari input yang dilakukan user. Kita tidak perlu meminta user untuk memasukkan huruf kecil semua atau huruf kapital semua. Bebaskan user memasukkan string yang ingin dicari, selanjutnya lakukan konversi string ke huruf kapital/huruf kecil.

Contoh: User memasukkan string “prOg”. Maka lakukan konversi pada string yang ingin dicari user dan string tempat pencarian, samakan keduanya.

Kedua, perhatikan output yang muncul. Ketika string yang dicari adalah “lif” mengapa yang muncul adalah “life.com” tidak string “lif” saja, begitu juga dengan string “Lang”. Hal ini dikarenakan nilai balik dari fungsi strstr() berupa pointer yang menunjuk ke string. Jadi ketika string “lif” ditemukan pada string “nblognlife.com” maka pointer strstr() akan menunjuk string yang dimulai dari karakter pertama dari string yang dicari yaitu ‘l’, sehingga akan ditampilkan di layar “life.com”. Begitu juga dengan string “Lang” yang akan menampilan “Language”.

Baca juga fungsi string C++ lainnya:
1. Membandingkan String dengan strcmp() dan strncmp()
2. strcat() untuk Menggabungkan String pada C++
3. [C++] Membalik String dengan strrev()
4. strlwr() - C++ : Konversi String ke Huruf Kecil
5. strupr() - C++ : Konversi String ke Huruf Kapital
6. Menghitung String Masukan Dengan  strlen() dan cin.gcount() – C++
7. [C++] Menyalin String Berbeda dengan Menyalin Bilangan (strcpy)
8. C++ - Mencari String dengan strstr()

[RS]

Klik Like & Share jika postingan ini bermanfaat
Apa tanggapan Anda?

Berikan tanggapan Anda melalui kolom komentar yang telah disediakan.
- Gunakan bahasa yang sopan;
- Saat menjadikan postingan pada blog ini sebagai referensi, jangan lupa mencantumkan sumbernya (link dari blog ini).

Jika blog ini bermanfaat jangan lupa memberikan 'like' atau 'share' untuk mendapatkan update terbaru.

Terima kasih