十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
1
成都创新互联公司主营五台网站建设的网络公司,主营网站建设方案,重庆APP开发,五台h5小程序设计搭建,五台网站营销推广欢迎五台等地区企业咨询
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include stdio.h
#include time.h
/*把从src地址开始的字符串复制到以dest开始的字符串中*/
char* strcopy (char* dest, char *src) {
char* r = dest;
while((*r++ = *src++)!='\0');
return dest;
}
int main () {
char *str1="abcde";
char *str2;
str2 = strcopy (str2, str1); /*把str1复制到str2*/
puts (str2);
return 0;
}
#includestdio.h
char *custom_cpy(char *to,char *from);
int main(int argc,char *argv[]){
char *from = "i like c langanger";
char to[30];
char *ptr = custom_cpy(to,from);
printf("%s,%s\n",ptr,to);
return 0;
}
char *custom_cpy(char *to,char *from){
if(to == NULL || from == NULL){
return NULL;
}
char *p = to;
for(;*from!='\0';from++,to++){
*to = *from;
}
*to = '\0';//拷贝完毕之后一定要加一个结束符号
return p;
}
扩展资料:
字符串相关函数应用:
1. 连接运算 concat(s1,s2,s3…sn) 相当于s1+s2+s3+…+sn。
例:concat(‘11’,'aa’)='11aa’;
2. 求子串。 Copy(s,I,I) 从字符串s中截取第I个字符开始后的长度为l的子串。
例:copy(‘abdag’,2,3)=’bda’;
3. 删除子串。过程 Delete(s,I,l) 从字符串s中删除第I个字符开始后的长度为l的子串。
例:s:=’abcde’;delete(s,2,3);结果s:=’ae’;
4. 插入子串。 过程Insert(s1,s2,I) 把s1插入到s2的第I个位置
例:s:=abc;insert(‘12’,s,2);结果s:=’a12bc’;
5. 求字符串长度 length(s) 例:length(‘12abc’)=5;
参考资料:
百度百科-字符串
你这个拷贝函数里怎么没有主函数里的n来判断哪些拷贝过来?
我加了个n,把原来的n改成了m,再加了两条语句,其他的没动,代码如下:
#includestdio.h
#define
MAX_STR_LEN
100
char
*
str_cpy(int
n,char
*
t,
char
*
s)
{
int
i=0,m;
while(*s!='\0')
{
*t=*s;
t++;
s++;
i++;
}
for
(m=i;m0;m--)
{
t--;
if(mn)
*t='\0';
//把超过长度n的都变成结束符'\0'
}
return
t;
}
1、首先需要建立一个新的文件,输入头文件和主函数。
2、接下来需要定义变量类型。
3、设置完变量类型之后开始调用cpy函数。
4、接下来需要定义一个函数,并定义变量类型。
5、最后加一个字符串结束符,并在主函数中输出。
6、编译。运行,可以看到字符串a复制到字符串b中。