😈
ReverseMe
  • Introduction
  • References
  • ReverseMe
    • Introduction
      • What is Reverse Engineering?
      • Legality of Reverse Engineering
      • Reverse Engineering Communities
  • Programming Language
    • C
      • Basic
        • Pointer
        • Casting
      • Reference
        • stdio.h
          • fclose()
          • fopen()
          • fseek()
          • ftell()
          • fgetc()
          • fgets()
          • fread()
          • fprintf()
          • fwrite()
          • printf()
          • putchar()
          • puts()
          • sprintf()
          • snprintf()
        • stdlib.h
          • malloc()
          • calloc()
          • realloc()
          • free()
          • rand()
          • srand()
        • string.h
          • strcat()
          • strncat()
          • strcmp()
          • strncmp()
          • strcpy()
          • strncpy()
        • time.h
          • time()
  • Reversing Fundamentals
    • Stripped and Unstripped
  • Tools
    • file
    • strings
    • ltrace
    • ghidra
  • CTF Writeups
    • HackTheBox Challenges
      • Baby RE
      • You Cant C Me
  • ABOUT ME
    • Mail
    • LinkedIn
    • GitHub
Powered by GitBook
On this page
  • Sintaks
  • Contoh Pengunaan
  1. Programming Language
  2. C
  3. Reference
  4. string.h

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 dari str2 dalam n karakter pertama.

    • Positif (>0) âžœ Jika str1 lebih besar dari str2 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-6

    • Perbedaan: '\0' (akhir string str1) vs ' ' (ASCII 32) dalam str3

    • Hasilnya = '\0' - ' ' = 0 - 32 = -32.

Previousstrcmp()Nextstrcpy()

Last updated 2 months ago