پیاده سازی strcpy به دو صورت
حالت اول:
char *strcpy(char *s,const char *t)
{
int i=0;
while((s[i]=t[i])!='\0')
i++;
return s;
}
//end
{
int i=0;
while((s[i]=t[i])!='\0')
i++;
return s;
}
//end
حالت دوم:
char *strcpy(char *s,const char *t)
{
char *ts;
ts=s;
while((*s=*t)!='\0')
{
s++;
t++;
}
return ts;
}
//end
{
char *ts;
ts=s;
while((*s=*t)!='\0')
{
s++;
t++;
}
return ts;
}
//end
- برچسب ها: strcpy، strcopy، string copy، رشته، کپی رشته ها، کپی، تابع،
برنامه ای که نحوه عملکرد تابع strncpy را نشان میدهد:
#include <iostream.h>
#include <cstring.h>
int main(){
char str[ ] = "cats are nice usually.";
cout<<"before operating :\n"<<str;
strncpy(str,"dogs",4);
strncpy(str+9,"mean",4);
cout<<"\nafter operating :\n"<<str<<endl;
return 0 ;
}
//end
#include <cstring.h>
int main(){
char str[ ] = "cats are nice usually.";
cout<<"before operating :\n"<<str;
strncpy(str,"dogs",4);
strncpy(str+9,"mean",4);
cout<<"\nafter operating :\n"<<str<<endl;
return 0 ;
}
//end
- برچسب ها: رشته، کپی رشته ها، strcpy، strncpy، stringncopy، string،
برنامه ای که یک رشته را در رشته ای دیگر کپی میکند.
strncpy تابع کپی تعداد مشخصی از کاراکتر های یک رشته در دیگری
شکل کلی:
;(تعداد کاراکتر کپی شونده ,رشته مبدا ,نقطه ی آغازین عمل کپی+رشته مقصد)strncpy
مثال:
strncpy(str1+m;str2;n);
//end
//end
در مثال فوق تعداد n کاراکتر ابتدایی رشته ی str2 را از کاراکتر (m+1) ام رشته ی str1 تا محل (m+n+1) کپی میکند. اگر تعداد کاراکتر هایی که در str2 وجود دارد، کمتر از مقدار n باشد، به تعداد لازم کاراکتر NULL در انتهای str1 کپی میشود.