Witam próbuje napisać własną funkcje http://pl.wikibooks.org/wiki/C/strncpy jednak popełniam jakiś błąd którego nie potrafię znaleźć.
#include<stdio.h>
#include<string.h>
char * strncpy1(char * target, const char * source ,int count);
int main(void)
{
char pierwszy[40] = "Mam na imie Klaudiusz ";
char drugi[] ="i mam 20 lat";
printf("Adres :%p" , pierwszy);
strncpy1(pierwszy,drugi,40);
puts(pierwszy);
printf("Adres :%p" , pierwszy);
}
char * strncpy1(char * target, const char * source ,int count)
{
char *wsk;
wsk = target; // zapamientuje adres pierwszego elementu target
while(target)
target++; // jedzimy do konca pierwszego stringa
while(count-- && *(source-1)) // dopuki spelniona podana ilosc znakow lub koniec zrodla
{
*target = *source;
target++;
source++;
}
return wsk;
}
Dodatkowo mam problem z funkcja http://cpp0x.pl/dokumentacja/standard-C/strstr/440
char * zawiera_lan(const * char pierwszy, const * char drugi)
{
int count = 0;
while(*pierwszy && count == strlen(drugi))
{
if(*pierwszy == *drugi)
count++;
else
count = 0;
pierwszy++;
drugi++;
}
if( count == strlen(drugi) ) return --pierwszy - count;
else return 0;
}
Proszę o pomoc i pozdrawiam.