#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
/*自写函数拷贝*/
char* mystrcpy(char* p, char* p1)
{
if (p == NULL & p1 == NULL)
{
return NULL;
}
while (*p1!='\0') {
*p++ = *p1++;
}
}
/*自写比较拷贝*/
int* mystrcmp(char* p1, char* p2)
{
int n_num1=0;
int n_num2=0;
int ret=0;
char *str1=p1;
char *str2=p2;
while(*p!='\0'&&*p1!='\0'&&(*p==*p1)){
p1++;
p2++;
}
if(p1||p2){
p1=str1;
p2=str2;
while(p1){
n_num1+=*p1;
p1++;
}
while(p2){
n_num2+=*p2;
p2++;
}
}
ret=n_num1-n_num2;
if(ret>0){
ret=1;
}
if(ret<0){
ret=-1;
}
return 0;
}
/*自写函数选择性拷贝*/
char* mystrncpy(char* p, char* p1,int size)
{
if (p == NULL & p1 == NULL)
{
return NULL;
}
while (*p1 != '\0'&&size!=0) {
*p++ = *p1++;
size--;
}
}
/*自主函数字符串拼接*/
void mystrcat(char* p, char* p2)
{
while (*p != '\0') {
*p++;
}
while (*p2 != '\0') {
*p++=*p2++;
}
}
int main()
{
char pp[128] = {0};
char* p = "chen";
mystrncpy(pp, p,3);
printf("%s \n", pp);
char a[128] = "chen";
char b[128] = "long";
mystrcat(a, b);
printf("%s ", a);
}
C语言字符串自写函数strcpy、strncpy、strcat、strcmp
于 2021-10-12 02:35:50 首次发布
本文介绍了使用C语言自定义实现字符串拷贝(mystrcpy)、比较(mystrcmp)、选择性拷贝(mystrncpy)和拼接(mystrcat)的函数。通过示例展示了如何在C程序中应用这些函数,如拷贝部分字符串、比较字符串和拼接字符串。
摘要由CSDN通过智能技术生成