当前位置:网站首页>How to use STR function of C language
How to use STR function of C language
2022-07-04 02:49:00 【Yisu cloud】
c Linguistic str How to use function
This article mainly explains “c Linguistic str How to use function ”, The explanation in the text is simple and clear , Easy to learn and understand , Next, please follow Xiaobian's ideas and go deeper slowly , Study and learn together “c Linguistic str How to use function ” Well !
strlen:
Used to find the length of the string , Start with the first character , To '\0' end ,'\0' Not counting the total length .
Function implementation :
size_t my_strlen(const char* ptr)
{
assert(ptr);
const char* ptx = ptr;
while (*(++ptx));
return (size_t)(ptx - ptr);
}strcmp:
Used to compare two string sizes , Note that size does not refer to string length , It starts with the first character , Compare the size of characters . This function returns a int value , Different compilers , The value returned is different . But the positive and negative are consistent , When the first is greater than the second , Returns a positive value , Less than, it returns a negative value , Equal return 0.
Function implementation :
int my_strcmp(const char* str1,const char* str2)
{
assert(str1 && str2);
while((!(*str1 - *str2)) && ((*(str1++)) * (*(str2++))));
return (int)(*str1 - *str2);
}strcpy:
Used to copy strings .
Function implementation :
char* my_strcpy(char* dest,const char* source)
{
assert(dest && source);
char* result = dest;
while (*(dest++) = *(source++));
return result;
}strcat:
Used to append a string to the end of the target string .
Function implementation :
char* my_strcat(char* a, const char* b)
{
assert(a && b);
char* tmp = a;
while (*(++a));
while (*(a++) = *(b++));
*a = '\0';
return tmp;
}strstr:
Used to find another string within one string . This in KMP The algorithm is about .
Function implementation :
const char* my_strstr(const char* a, const char* b)//a Is a long string b Is a short string
{
char* cp = (char*)a;
char* s1;
char* s2;
if (!*b)
return a;
while (*cp)
{
s1 = cp;
s2 = (char*)b;
while (*s1 && *s2 && !(*s1 - *s2))
{
s1++;
s2++;
}
if (!*s2)
return cp;
cp++;
}
return NULL;
}atoi:
This function is very interesting , It will convert the numeric string of the string into int value .
Function implementation :
int my_atoi(const char* str)
{
assert(str);
int num = 0;
int result = 0;
const char* tmp = str;
while (*str && *str != '.')
{
num++;
str++;
}
while (num--)
{
result += (*tmp - '0') * (int)pow(10, num);
tmp++;
}
return result;
}strncpy,strncmp,strncat:
All three functions limit the number of characters , The function is the same .
Function implementation :
char* my_strncpy(char* dest, const char* sou, size_t num)
{
assert(dest && sou);
char* tmp = dest;
while ((num--) && (*(dest++) = *(sou++)));
return tmp;
}
char* my_strncat(char* a, const char* b, int n)
{
assert(a && b);
char* tmp = a;
while (*(++a));
while ((n--) && (*(a++) = *(b++)));
*a = '\0';
return tmp;
}
int my_strncmp(const char* str1, const char* str2,int n)
{
assert(str1 && str2);
while ((!(*str1 - *str2)) && ((*(str1++)) * (*(str2++))) && (n--));
return (int)(*str1 - *str2);
}Thank you for reading , That's all “c Linguistic str How to use function ” Content. , After learning this article , I'm sure you're right c Linguistic str I have a deeper understanding of how to use functions , The specific use needs to be verified by practice . This is billion speed cloud , Xiaobian will push you articles with more relevant knowledge points , Welcome to your attention !
边栏推荐
- C language black Technology: Archimedes spiral! Novel, interesting, advanced~
- Gee import SHP data - crop image
- POSTECH | option compatible reward reverse reinforcement learning
- The automatic control system of pump station has powerful functions and diverse application scenarios
- Keepalived set the master not to recapture the VIP after fault recovery (it is invalid to solve nopreempt)
- Database concept and installation
- Leetcode 110 balanced binary tree
- Yyds dry goods inventory hand-in-hand teach you the development of Tiktok series video batch Downloader
- Keep an IT training diary 054- opening and closing
- MySQL advanced (Advanced) SQL statement (I)
猜你喜欢
![[Yugong series] February 2022 attack and defense world advanced question misc-84 (MySQL)](/img/4d/4a6b76896bf81a27d036a047f68b2b.jpg)
[Yugong series] February 2022 attack and defense world advanced question misc-84 (MySQL)

Take you to master the formatter of visual studio code

The "message withdrawal" of a push message push, one click traceless message withdrawal makes the operation no longer difficult

Comment la transformation numérique du crédit d'information de la Chine passe - t - elle du ciel au bout des doigts?

1day vulnerability pushback skills practice (3)

7 * 24-hour business without interruption! Practice of applying multiple live landing in rookie villages

A brief talk on professional modeler: the prospect and professional development of 3D game modeling industry in China

ZABBIX API pulls the values of all hosts of a monitoring item and saves them in Excel

Record a problem that soft deletion fails due to warehouse level error

Bugku Zhi, you have to stop him
随机推荐
Take you to master the formatter of visual studio code
High level application of SQL statements in MySQL database (I)
Keepalived set the master not to recapture the VIP after fault recovery (it is invalid to solve nopreempt)
Dare to climb here, you're not far from prison, reptile reverse actual combat case
VRRP+BFD
Contest3145 - the 37th game of 2021 freshman individual training match_ E: Eat watermelon
[Yugong series] February 2022 attack and defense world advanced question misc-84 (MySQL)
Leetcode 110 balanced binary tree
I stepped on a foundation pit today
Iclr2022 | ontoprotein: protein pre training integrated with gene ontology knowledge
MySQL workbench use
[untitled] the relationship between the metauniverse and digital collections
在尋求人類智能AI的過程中,Meta將賭注押向了自監督學習
What are the conditions for the opening of Tiktok live broadcast preview?
(column 23) typical C language problem: find the minimum common multiple and maximum common divisor of two numbers. (two solutions)
Final consistency of MESI cache in CPU -- why does CPU need cache
Problems and solutions of several concurrent scenarios of redis
A. ABC
On Valentine's day, I code a programmer's exclusive Bing Dwen Dwen (including the source code for free)
Push technology practice | master these two tuning skills to speed up tidb performance a thousand times!