您的位置:首页 > 其它

字符串和字符串函数

2020-11-17 00:08 916 查看

1.模拟实现strcat

#include<stdio.h>
#pragma warning(disable:4996)

void strcat_fun(char* s1, char* s2)
{
int count = 0;
while (*s1 != '\0')
{
count++;
s1++;
}
while (*s2 != '\0')
{
*(s1++) = *(s2++);
}
}
int main()
{
char arr[10] = { "how" };
strcat_fun(arr, "are");
printf("%s\n",arr);
return 0;
}

2.模拟实现strcmp

#include<stdio.h>

int strcmp(char* s1, char* s2)
{
for (; *s1 != '\0' || *s2 != '\0'; s1++, s2++)
{
if (*s1 > *s2)
{
return 1;
}
else if (*s1 < *s2)
{
return -1;
}
else
{
continue;
}
}
return 0;
}

int main()
{
char* str1 = "hello";
char* str2 = "hello";
int k = strcmp(str1, str2);
printf("%d\n", k);
return 0;
}

3.模拟实现strcpy

#include<stdio.h>
#pragma warning(disable:4996)

void strcpy_func(char* s1, char* s2)
{
while (*s2 != '\0')
{
*(s1++) = *(s2++);
}
}

int main()
{
char arr1[100] = "hello world";
char arr2[10] = "boy";
strcpy_func(arr1, arr2);
printf("%s\n", arr1);
}

4.模拟实现strlen

#include<stdio.h>
#pragma warning(disable:4996)

void strcpy_func(char* s1, char* s2)
{
while (*s2 != '\0')
{
*(s1++) = *(s2++);
}
}

int main()
{
char arr1[100] = "hello world";
char arr2[10] = "boy";
strcpy_func(arr1, arr2);
printf("%s\n", arr1);
}

5.strtok 实现字符串的反转

#include<stdio.h>
#include<string.h>
#pragma warning(disable:4996)

void reverse(char* str)
{
char* arr[10];
char* ch;
ch = strtok(str," ");
int i = 0;
while (ch != NULL)
{
arr[i++] = ch;
ch = strtok(NULL, " ");
}
for (int j = i - 1; j >= 0; j--)
{
printf("%s ", arr[j]);
}
}

int main()
{
char arr[100] = "we are students.";
reverse(arr);
return 0;
}

6.strncpy

#include<stdio.h>
#include<string.h>
#pragma warning(disable:4996)
int main()
{
char str1[100] = "hello world";
char str2[100] = "free of charge";
strncpy(str1, str2, 7);
printf("%s\n", str1);
}

7.strncat

#include<stdio.h>
#include<string.h>
#pragma warning(disable:4996)

int main()
{
char str1[100] = "hello world";
char str2[100] = "free of charge";
strncat(str1, str2, 7);
printf("%s\n", str1);
return 0;
}

8.strcmp

#include<stdio.h>
#include<string.h>
#pragma warning(disable:4996)

int main()
{
char str1[100] = "helo orld";
char str2[100] = "hello o";
int k = strncmp(str1, str2, 7);
printf("%d\n",k);
return 0;
}

9.strstr

#include<stdio.h>
#include<string.h>
#pragma warning(disable:4996)

int main()
{
char str[100] = " bit hello  bit hello world";
char* s;
s = strstr(str, "hello");
printf("%s\n", s);
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: