幾個字符函數的模擬實現()

@一路桐行 2022-01-07 06:30:54 阅读数:523

字符

strlen 用來求這個字符串的長度是多少

這個函數並不會說是計算\0這個東西 它只會說是到了那個地方就會停止進行操作

不會再繼續進行操作處理了 也就是說 我們strlen函數是遇到\0就不會進行加和了

#include <iostream>
#include <cmath>
#include <cstring>
#include<algorithm>
using namespace std;
int my_strlen(char arr[])
{
int i=0;
while(arr[i])//這個就是判斷我們到底是不是要進行操作處理 如果是\0的時候我們就會自動結束操作 不在進行打印處理
{
i++;
}
return i;
}
int main()
{
char arr[100]="hello world";
int n=my_strlen(arr);
cout<<n;
return 0;
}

這個是我們進行操作處理的函數 方法

第二個函數strcpy string copy函數這個函數可以幫助我們進行實現字符串的拷貝

void my_strcpy(char a[],char b[])
{
int i=0;
while(b[i]!=0)
{
a[i]=b[i];
i++;
}
a[i]=0; //我們應該注意在最後面加上\0進行輸入的操作處理就可以了
}
int main()
{
char arr[100]="hello world";
char arr1[100]="skjdakjsadkjdsa";
my_strcpy(arr,arr1);//這個就是將後者拷貝到前者裏面去 這個就要要求我們需要注意arr的數組大小要遠遠大於
//int n=my_strlen(arr);
cout<<arr;
return 0;
}

第三個函數strcat函數的操作處理 我們進行了操作處理進行實現函數的模擬

void my_strcat(char a[],char b[])
{
int l=my_strlen(a);//這個是先獲取數組a的結束比特置的\0的比特置所在比特置
int i=0;
while(b[i])
{
a[l+i]=b[i++];//這個就是進行替換操作處理
}
a[l+i]=0;//這個最後還是要賦值成為0 我們保證這個字符串數組一直沒有變
}
int main()
{
char arr[100]="hello world";
char arr1[100]="ww nihaoma";
// my_strcpy(arr,arr1);//這個就是將後者拷貝到前者裏面去 這個就要要求我們需要注意arr的數組大小要遠遠大於
my_strcat(arr,arr1);
//int n=my_strlen(arr);
cout<<arr;
return 0;
}

 

版权声明:本文为[@一路桐行]所创,转载请带上原文链接,感谢。 https://gsmany.com/2022/01/202201070630540548.html