当前位置:网站首页>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 !
边栏推荐
- ZABBIX API pulls the values of all hosts of a monitoring item and saves them in Excel
- Contest3145 - the 37th game of 2021 freshman individual training match_ G: Score
- Global and Chinese market of contour projectors 2022-2028: Research Report on technology, participants, trends, market size and share
- Create real-time video chat in unity3d
- Amélioration de l'efficacité de la requête 10 fois! 3 solutions d'optimisation pour résoudre le problème de pagination profonde MySQL
- WP collection plug-in free WordPress collection hang up plug-in
- Keep an IT training diary 055- moral bitch
- C learning notes: C foundation - Language & characteristics interpretation
- Basé sur... Netcore Development blog Project Starblog - (14) Implementation of theme switching function
- Servlet simple verification code generation
猜你喜欢

Learn these super practical Google browser skills, girls casually flirt

Ai aide à la recherche de plagiat dans le design artistique! L'équipe du professeur Liu Fang a été embauchée par ACM mm, une conférence multimédia de haut niveau.

Talking about custom conditions and handling errors in MySQL Foundation

Advanced learning of MySQL -- Application -- storage engine

LV1 tire pressure monitoring

Idea if a class cannot be found, it will be red

Pytoch residual network RESNET
![[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)

Chapter 3.4: starrocks data import - Flink connector and CDC second level data synchronization

C language black Technology: Archimedes spiral! Novel, interesting, advanced~
随机推荐
The requests module uses
Résumé: entropie, énergie libre, symétrie et dynamique dans le cerveau
Unspeakable Prometheus monitoring practice
Hospital network planning and design document based on GLBP protocol + application form + task statement + opening report + interim examination + literature review + PPT + weekly progress + network to
Global and Chinese market of box seals 2022-2028: Research Report on technology, participants, trends, market size and share
WordPress collection WordPress hang up collection plug-in
PMP daily three questions (February 14, 2022)
Final consistency of MESI cache in CPU -- why does CPU need cache
A. ABC
Remember another interview trip to Ali, which ends on three sides
Osnabrueck University | overview of specific architectures in the field of reinforcement learning
Fudan released its first review paper on the construction and application of multimodal knowledge atlas, comprehensively describing the existing mmkg technology system and progress
7 * 24-hour business without interruption! Practice of applying multiple live landing in rookie villages
Node solves cross domain problems
13. Time conversion function
Contest3145 - the 37th game of 2021 freshman individual training match_ E: Eat watermelon
中電資訊-信貸業務數字化轉型如何從星空到指尖?
POSTECH | option compatible reward reverse reinforcement learning
7 * 24-hour business without interruption! Practice of applying multiple live landing in rookie villages
Résumé des outils communs et des points techniques de l'examen PMP