Tutorial Belajar C++: Cara Mencari Panjang String

Posted on

Tutorial Belajar C++: Cara Mencari Panjang String

Belajar C++: Cara Mencari Panjang String

Dalam pemrograman C++, string adalah urutan karakter yang diapit oleh tanda kutip ganda. Panjang string dapat ditemukan menggunakan fungsi strlen(). Fungsi ini mengambil string sebagai argumen dan mengembalikan integer yang menunjukkan jumlah karakter dalam string, tidak termasuk karakter null terminator.

Contoh:

#include <iostream>
#include <cstring>

using namespace std;

int main() {
  char str[] = "Hello, world!";
  int length = strlen(str);

  cout << "Panjang string: " << length << endl;

  return 0;
}

Output dari program ini adalah:

Panjang string: 13

Permasalahan:

Dalam beberapa kasus, Anda mungkin perlu menemukan panjang string yang tidak diapit oleh tanda kutip ganda. Misalnya, Anda mungkin memiliki string yang disimpan dalam variabel char*, atau Anda mungkin perlu menemukan panjang string yang dihasilkan oleh fungsi.

Solusi:

Untuk menemukan panjang string yang tidak diapit oleh tanda kutip ganda, Anda dapat menggunakan fungsi strnlen(). Fungsi ini mengambil string dan panjang maksimum string sebagai argumen dan mengembalikan integer yang menunjukkan jumlah karakter dalam string hingga panjang maksimum.

Contoh:

#include <iostream>
#include <cstring>

using namespace std;

int main() {
  char* str = "Hello, world!";
  int length = strnlen(str, 13);

  cout << "Panjang string: " << length << endl;

  return 0;
}

Output dari program ini adalah:

Panjang string: 13

Tips:

  • Fungsi strlen() dan strnlen() tidak menghitung karakter null terminator.
  • Anda juga dapat menggunakan operator sizeof() untuk menemukan panjang string. Namun, operator sizeof() mengembalikan ukuran string dalam byte, bukan jumlah karakter.
  • Jika Anda perlu menemukan panjang string yang berisi karakter khusus, seperti spasi atau tab, Anda dapat menggunakan fungsi isspace() untuk mengabaikan karakter tersebut.

Leave a Reply

Your email address will not be published. Required fields are marked *