当前位置:网站首页>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 !
边栏推荐
- Global and Chinese market of small batteries 2022-2028: Research Report on technology, participants, trends, market size and share
- Solve the problem that the tabbar navigation at the bottom of vantui does not correspond to the page (window.loading.hash)
- Latex tips slash \backslash
- Safety tips - seat belt suddenly fails to pull? High speed police remind you how to use safety belts in a standardized way
- Talking about custom conditions and handling errors in MySQL Foundation
- A. Min Max Swap
- [UE4] parse JSON string
- Properties of binary trees (numerical aspects)
- Global and Chinese markets for electroencephalogram (EEG) devices 2022-2028: Research Report on technology, participants, trends, market size and share
- Global and Chinese market of contour projectors 2022-2028: Research Report on technology, participants, trends, market size and share
猜你喜欢

Yyds dry goods inventory hand-in-hand teach you the development of Tiktok series video batch Downloader

On Valentine's day, I code a programmer's exclusive Bing Dwen Dwen (including the source code for free)

I stepped on a foundation pit today

Pytoch residual network RESNET

Learn these super practical Google browser skills, girls casually flirt

C language black Technology: Archimedes spiral! Novel, interesting, advanced~

MySQL advanced (Advanced) SQL statement (I)

What is the intelligent monitoring system of sewage lifting pump station and does it play a big role

LV1 tire pressure monitoring

MySQL advanced SQL statement (1)
随机推荐
Introduction to graphics: graphic painting (I)
A. ABC
Yyds dry goods inventory hand-in-hand teach you the development of Tiktok series video batch Downloader
查詢效率提昇10倍!3種優化方案,幫你解决MySQL深分頁問題
Dans la recherche de l'intelligence humaine ai, Meta a misé sur l'apprentissage auto - supervisé
Global and Chinese market of digital impression system 2022-2028: Research Report on technology, participants, trends, market size and share
Question d: Haffman coding
17. File i/o buffer
Advanced learning of MySQL -- Application -- index
POSTECH | option compatible reward reverse reinforcement learning
CSCI 2134
Libcblas appears when installing opencv import CV2 so. 3:cannot open shared object file:NO such file or directory
Leetcode 110 balanced binary tree
12. Gettimeofday() and time()
Contest3145 - the 37th game of 2021 freshman individual training match_ F: Smallest ball
A. Min Max Swap
Comment la transformation numérique du crédit d'information de la Chine passe - t - elle du ciel au bout des doigts?
Experience summary of the 12th Blue Bridge Cup (written for the first time)
Résumé: entropie, énergie libre, symétrie et dynamique dans le cerveau
Mysql-15 aggregate function