BG MVC Model View Controller eğitim serisi yayında...

Ana sayfa > Programlama > C Programlama > C örnek kodlar > c_ornek00008

C örnek kodlar

C dili için substr() fonksiyonu oluşturma (Doğrudan bellek okuma ile)

Aşağıdaki program, doğrudan bellek okuma yöntemi 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;
  int c;

  if ((pos+len)>strlen(src)) return 0;

  dizi = (char*) malloc(sizeof(char) * (len+1));
  if (dizi==NULL) return NULL;

  for (c=0; c<len; c++) {
       *(dizi+c) = *(src+pos);
       src++;
  }
  *(dizi+c) = '\0';

  return dizi;
}

Yukarıdaki örnekte, program aşağıdaki satırı ekrana yazar:

dizisi