strncmp()
Membandingkan hanya sebagian (n karakter pertama) dari dua string
Fungsi strncmp()
digunakan untuk membandingkan n karakter pertama dari dua string berdasarkan nilai ASCII.
Sintaks
int strncmp(const char *str1, const char *str2, size_t n);
str1
➜ String pertama yang akan dibandingkan.str2
➜ String kedua yang akan dibandingkan.n
➜ Jumlah karakter pertama yang akan dibandingkan.Mengembalikan nilai:
0 ➜ Jika n karakter pertama dari kedua string sama.
Negatif (<0) ➜ Jika
str1
lebih kecil daristr2
dalam n karakter pertama.Positif (>0) ➜ Jika
str1
lebih besar daristr2
dalam n karakter pertama.
Contoh Pengunaan
#include <stdio.h>
#include <string.h>
int main() {
char str1[] = "hello";
char str2[] = "helicopter";
char str3[] = "hello world";
printf("Perbandingan 3 karakter pertama: %d\n", strncmp(str1, str2, 3));
printf("Perbandingan 5 karakter pertama: %d\n", strncmp(str1, str2, 5));
printf("Perbandingan 6 karakter pertama: %d\n", strncmp(str1, str3, 6));
return 0;
}
Hasilnya:
Perbandingan 3 karakter pertama: 0
Perbandingan 5 karakter pertama: 3
Perbandingan 6 karakter pertama: -32
strncmp(str1, str2, 3)
"hel"
dalam"hello"
dan"helicopter"
sama ➜ Hasilnya 0.
strncmp(str1, str2, 5)
"hello"
dan"helicopter"
berbeda di karakter ke-4 ('l'
vs'i'
)Hasilnya =
'l' - 'i'
=108 - 105
=3
.
strncmp(str1, str3, 6)
"hello"
dan"hello world"
sama di 5 karakter pertama, tetapi beda di karakter ke-6Perbedaan:
'\0'
(akhir stringstr1
) vs' '
(ASCII 32) dalamstr3
Hasilnya =
'\0' - ' '
=0 - 32
=-32
.
Last updated