mustofa wrote:Header file: string.h
Nama fungsi: strncpy
Prototipe: char *strncpy(char *dest, const char *src, int n)
Kegunaan:
- menyalin n karakter string src ke dest.
- fungsi ini akan mengembalikan alamat string dest.
Salam sejahtera Pak Mustofa.
Mau tanya Pak mengenai fungsi string strncpy. Misal ada string =
string tersebut ingin saya pecah menjadi 4 string, antara lain =
header = "P"
data1 = "123"
data2 = "456"
data3 = "789"
Maksud percobaan saya adalah Jika karakter pertama = "P", maka variabel data1, data2 dan data3 boleh ditampilkan. Dan Jika karakter pertama bukan "P", maka variabel data1, data2 dan data3 tidak boleh tampil.
Program yang sudah saya sebagai berikut :
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
unsigned char data[10], data1, data2, data3;
int main()
{
scanf("%s",data);
strncpy(data1,&data[1],3);
strncpy(data2,&data[4],3);
strncpy(data3,&data[7],3);
printf("Data1 = %s\nData2 = %s\nData3 = %s\n",data1,data2,data3);
}
Tapi hasil eksekusi program saya, menghasilkan variabel yang nilainya tidak sesuai dengan yang saya harapkan, hasil program saya sebagai berikut :
misal diberi input "P123456789", akan menghasilkan output :
Data1 = 123456789
Data2 = 456789
Data3 = 789
Jadi hanya variabel data3 yang sesuai dengan keinginan saya.
Yang ingin saya tanyakan.
1. Apakah ada yang salah dengan coding atau algoritma saya?
2. Untuk mengecek kondisi huruf/karakter pertama, pakai fungsi apa Pak? Tipe data nya apa? Agar bisa saya olah menggunakan logika if, sehingga saya bisa mengatur variabel data berapa yang ingin saya tampilkan.
Terima kasih.