Wednesday, December 9, 2015

Strncpy

Strncpy adalah salah satu perintah dalam library string.h untuk menyalin suatu string ke variabel lain. Bedanya dengan Strcpy adalah Strncpy menyalin string berdasarkan panjang tertentu dan tidak menambahkan karakter '\0' ke akhir kalimat.

strncpy(string1, string2, panjang);
string1: variabel tujuan penyalinan
string2: string yang akan disalin
panjang: panjang string2 yang akan disalin. Dihitung dari awal

Hati-hati!
Perintah strncpy tidak menambahkan karakter '\0' ke akhir kalimat. Akibatnya, string dalam variabel string1 akan terus berlanjut hingga karakter yang tidak dapat ditentukan sesuai nilai yang ada dalam urutan memori RAM.

Solusinya adalah menambah baris berikut setelah fungsi strncpy dipanggil.
string1[strlen(string2)] = "\0";

Berikut implementasinya dalam bahasa pemrograman C.

#include<stdio.h>
#include<string.h>
int main()
{
    char string1[50], string2[50];
    int panjang;
   
    // Input
    scanf("%[^\n]s", string2); getchar();
    scanf("%d", &panjang);
   
    // Output
    strncpy(string1, string2, panjang);
   
    printf("%s", string1);
}

Contoh input:
teknik informatika
10

Contoh output:
teknik inf??????

No comments:

Post a Comment