问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

C语言中如何编写一个字符串复制函数,并在主函数中调用它。

发布网友 发布时间:2022-04-22 10:39

我来回答

5个回答

热心网友 时间:2023-11-01 20:26

#include<stdio.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;

参考资料:

百度百科-字符串

热心网友 时间:2023-11-01 20:26

可以利用字符指针结合while循环的方式来编写字符串复制函数。


具体实现方法可以参考如下程序:

#include<stdio.h>
void str_copy(char *str1, char *str2)  // 字符串复制函数

    while(*str1++ = *str2++);  // 将字符串str2中的每个字符逐个复制到str1中,直到遇到字符串结束字符'\0'
}
void main()
{
    char s1[] = "abcd";
    char s2[5];
    str_copy(s2, s1);  // 将字符串s1复制到s2中
    printf("%s", s2);  // 输出字符串s2,输出结果为abcd
}

热心网友 时间:2023-11-01 20:27

/*字符串复制的函数和调用*/

#include "stdio.h"

char string(char a[],char b[]) //定义复制的字符串
{
int i; //计数
for(i=0;a[i-1]!='\0';i++) //复制
{
b[i] = a[i];
}
}
int main (void)
{
char a[]="12345asfd"; //字符串
char b[100];

string(a,b); //把a的字符串复制到b
printf("%s\n",b);//打印字符串
}

热心网友 时间:2023-11-01 20:27

#include "stdio.h"
#include "stdlib.h"
int stringcopy(char *str1,char *str2);
main()
{
char str1[40],str2[20];
printf("输入第一个字符串");
scanf("%s",str1);
printf("输入第二个字符串");
scanf("%s",str2);
stringcopy(str1,str2);
getchar(); getchar();
return 0;
}
int stringcopy(char *str1,char *str2)
{
int i=0,j=0;
do
{
i++;
}while(*(str1+i)!='\0');
do
{
*(str1+i)=*(str2+j);
i++;j++;
}while(*(str2+j-1)!='\0'&&i<40);
if(i>=40)
printf("对不起,空间不够,不能复制!");
else
{
printf("%s\n",str1);

}
return 0;
}

热心网友 时间:2023-11-01 20:28

void strcpy(char *des, const char *sour){ des = (char*)malloc(strlen(sour)+1); while(*sour != '\0') { *des = *sour; des++; sour++; } *des = '\0';}}
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
女生多大后可以不在长身高? 如何不用软件把手机投屏到电脑上手机屏幕怎样投放到电脑上 战时拒绝、故意延误军事订货罪既遂的处罚? 战时故意延误军事订货罪处罚标准 名师1+1导读方案:汤姆·索亚历险记目录 三星sm-g7200打开微信慢,无法正常收看,网速不慢。 笔记本电脑如何调亮屏幕亮度 大伙说说洗衣机要不要带烘干好 热烘干洗衣机怎么样 ef英语哪个好 C语言函数调用的三种方式并分别举一例。 C语言题目 用函数调用方式,实现字符串的复制。 要求如下 photoshop画圆? 怎么在ps里连续画正圆 冬至要吃饺子,想把饺子馅拌好有什么秘诀? 包饺子,饺子馅里放什么调料好吃呀 怎么包饺子说明文 包饺子怎么包不会开口 饺子馅的调料配方 包饺子都有哪些秘密? 拜求调制饺子馅的独家秘诀!! 调制饺子馅有什么秘诀吗? 11pro和12pro手机壳通用吗 将文件复制到ftp服务器时发生错误.请检查是否有权限将文件放到该服务器上 在ftp服务器上文件复制不出来 将文件复制到ftp服务器时发生错误,请检查是否有权限将文件放到该服务器上。 ftp服务器,复制文件无权限,在线等…………………… 怎样解决局域网上的FTP无法粘贴文件的问题 FTP软件为什么文件夹复制不了,文件可以复制的 FTP软件为什么文件夹复制不了,文件可以复制的 用photoshop怎么画圆 c语言怎么编写? 在语言c中,如何调用一个函数输出字符串,求解 [C语言改错] C语言中用函数处理字符串问题 用photoshop如何画圆 C语言实现字符串拷贝函数有几种方式 c语言如何从键盘输入字符串啊? C语言子函数调用 字符串问题 c语言程序设计 使用函数调用实现两个字符串得连接 C语言中函数如何返回字符串? C语言实现字符串拷贝函数的几种方法 c语言函数如何返回字符串,该函数又该如何调用呢 C语言,使用函数实现字符串复制 用C语言写一个函数,将两个字符串连接。 求一个c语言中实现字符串两次复制的函数的代码 C语言 函数调用, 输入字符串,逆序输出 工作十分顺利,有贵人帮助,一生的命运平坦而又顺利的四个生肖分别是谁? 一生必定享尽荣华、吉星高照的四大生肖是哪几个? 属马的贵人是什么?