C Dilinde Dizi Kopyalama?(Array)

Başlatan debi, 26 Mart 2009, 23:24:18

debi

Arkadaşlar Ansi C ile x uzunluklu bir dizinin belli elemanlarını nasıl kopyalayabiliriz?

Örnek;

dizi1[29]="abcd..............vyz"

dizi1'in 10. elemanından 15. elemanına kadar olan karakterleri dizi2 içine kopyala??

dizi2="10.-15. elemanlar arası karakterler"

Hazır bir fonksiyon(string.h) mevcut mu, nasıl yapılıyor?
Teşekkürler..

Chan86

for(i=0;i<=6;i++)
{

dizi2=dizi1[i+10];
}

şekilinde bir dögü kurarsan dizi1 deki 10-15 arası elemanları dizi2 ye 0-6 numaraları dizi karakteri olarak atar.

iyi akşamlar.

controller

sadece string üzerinde çalışacaksan;

unsigned int baslangic;
unsigned int bitis;

baslangic = 10;
bitis = 15;

strncpy(dizi2, (dizi1+baslangic), (bitis-baslangic));
Hesabım OG tarafından haksız bir şekilde pasif yapılmıştır.

arslan74

void * memcpy ( void * destination, const void * source, size_t num );


Alıntı Yapvoid göstericilerin kullanımını en iyi açıklayan örnek memcpy fonksiyonudur. memcpy fonksiyonu 2. parametresiyle belirtilen adresten başlayarak n sayıda byte'ı birinci parametresiyle belirtilen adresten başlayarak kopyalar. Fonksiyonun NULL karakterle ya da yazılarla bir ilişkisi yoktur, koşulsuz bir kopyalama yapar. Yani bir blok kopyalaması söz konusudur.
Uygulamada en fazla, aynı türden herhangi iki dizinin kopyalanması amacıyla kullanılır.
Fonksiyonun prototipi string.h başlık dosyası içindedir.