Aşağıdaki program, strncpy() fonksiyonu ile C dili için substr() fonksiyonu oluşturarak kullanır.
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
char* bg_substr(const char *src, int pos, int len);
int main()
{
char cdizi[] = "Karakter dizisi içinde işlem";
/* 9 değeri karakter dizisi içinde 0'dan başlayarak verilir ve 10.karaktere karşılık gelir. */
char* substr = bg_substr(cdizi, 9, 6);
printf("%s\n", substr);
/* Fonksiyon içinde tahsis edilen dinamik belleği boşaltma */
free(substr);
return 0;
}
/* Karakter dizi içinde başlangıç indeksi (pos) verilen belirli uzunlukta (len) dizi okuma */
char* bg_substr(const char *src, int pos, int len)
{
char *dizi;
if ((pos+len)>strlen(src)) return 0;
dizi = (char*) malloc(sizeof(char) * (len+1));
if (dizi==NULL) return NULL;
strncpy(dizi, (src+pos), len);
dizi[len] = '\0';
return dizi;
}
Yukarıdaki örnekte, program aşağıdaki satırı ekrana yazar:
dizisi