Fungsi Strncpy di C

Fungsi Strncpy di C

Dalam tutorial ini, kita akan membahas cara menggunakan fungsi strncpy() dalam bahasa pemrograman C. Fungsi strncpy dalam C digunakan untuk menyalin byte karakter tertentu dari sumber ke tujuan tertentu. Ini didefinisikan dalam file header string.h yang perlu disertakan sebelum menggunakan fungsi.

Penggunaan Dasar

Fungsi strncpy() mirip dengan fungsi strcpy(). Namun, tidak seperti strcpy(), ia menyalin sejumlah karakter tertentu dari string sumber ke string tujuan.

Sintaks strncpy() adalah sebagai:

char* strncpy(char *dest, const char* src, size_t n);

Parameter Fungsi

Fungsi strncpy() menerima 3 parameter:

  1. dest – Ini adalah penunjuk ke larik karakter tempat set karakter disimpan setelah dicopy.
  2. src – Pointer ini menunjuk ke array karakter dari mana array karakter yang ditentukan dicopy.
  3. n – jumlah maksimum karakter yang akan dicopy dari string src.

Fungsi menyalin jumlah karakter yang ditentukan oleh n dari src ke memori yang ditunjuk oleh dest.

Jika fungsi menerima nilai n kurang dari panjang larik src, fungsi tersebut menyalin n karakter yang ditentukan tanpa karakter penghentian nol.

Jika n lebih dari panjang larik src, ia menyalin semua n karakter dengan karakter yang diakhiri null ke tujuan.

Nilai Pengembalian Fungsi

Fungsi mengembalikan pointer ke array tujuan.

Contoh 1

Contoh berikut mengilustrasikan cara menggunakan fungsi strncpy().

#include <stdio.h>
#include <string.h>

int main() {
    char src[] = "Hello, world!";
    char dest[20];

    strncpy(dest, src, sizeof(dest));
    printf("Copied string: %s n", dest);

    return 0;
}

Dalam contoh program di atas, kami menentukan string sumber dengan nilai: “Halo, dunia!”. Kami kemudian melanjutkan untuk menentukan string tujuan dan menggunakan fungsi strncpy() untuk menyalin ukuran string sumber.

Output dari program di atas adalah seperti yang ditunjukkan:

Copied string: Hello, world!

Contoh 2

Inti dari contoh berikutnya adalah untuk mengilustrasikan cara menyalin sebagian karakter dari string sumber. Misalnya, untuk menyalin 5 karakter pertama, kita dapat melakukan:

#include <stdio.h>
#include <string.h>

int main() {
    char src[] = "Hello, world!";
    char dest[20];

    strncpy(dest, src, 5);
    printf("Partial string: %s n", dest);

    return 0;

Pada contoh program di atas, kita hanya menyalin 5 byte dari string sumber. Karena nilai n lebih kecil dari panjang string sumber. String tujuan tidak null diakhiri.

Contoh 3

Kita dapat menambahkan karakter penghentian null secara manual seperti yang ditunjukkan pada contoh program di bawah ini:

#include <stdio.h>
#include <string.h>

int main() {
    char src[] = "Hello, world";
    char dest[10];

    strncpy(dest, src, 5);
    dest[5] = ' ';
    return 0;
}

Dalam contoh di atas, kami secara manual menambahkan karakter penghentian nol setelah menyalin jumlah byte target dari string sumber

Contoh 4

Jika Anda meneruskan nilai n lebih besar dari ukuran string sumber, fungsi strncpy() menyalin semua karakter dari string sumber dan menambahkan serangkaian karakter penghentian nol untuk byte yang tersisa.

#include <stdio.h>
#include <string.h>

int main() {
    char src[] = "Hello, world";
    char dest[20];
    strncpy(dest, src, sizeof(src)+5);

    printf("Destination %s n", dest);
    return 0;
}

Kesimpulan

Dalam tutorial ini, kita membahas cara menggunakan fungsi strncpy() di C. Dengan menggunakan fungsi ini, Anda dapat menyalin sejumlah karakter tertentu dari string ke string tujuan.

Related Posts