当前位置:网站首页>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 !
边栏推荐
- Node solves cross domain problems
- Question d: Haffman coding
- Sword finger offer 20 String representing numeric value
- Global and Chinese market of small batteries 2022-2028: Research Report on technology, participants, trends, market size and share
- Network byte order
- Comment la transformation numérique du crédit d'information de la Chine passe - t - elle du ciel au bout des doigts?
- VRRP+BFD
- [Yugong series] February 2022 attack and defense world advanced question misc-83 (QR easy)
- Dare to climb here, you're not far from prison, reptile reverse actual combat case
- The requests module uses
猜你喜欢
Record a problem that soft deletion fails due to warehouse level error
Unity knapsack system (code to center and exchange items)
Tsinghua University product: penalty gradient norm improves generalization of deep learning model
The "message withdrawal" of a push message push, one click traceless message withdrawal makes the operation no longer difficult
WP collection plug-in free WordPress collection hang up plug-in
Pytoch residual network RESNET
WordPress collection WordPress hang up collection plug-in
false sharing
Iclr2022 | ontoprotein: protein pre training integrated with gene ontology knowledge
C # learning notes: structure of CS documents
随机推荐
Résumé des outils communs et des points techniques de l'examen PMP
Libcblas appears when installing opencv import CV2 so. 3:cannot open shared object file:NO such file or directory
Global and Chinese market for travel wheelchairs 2022-2028: Research Report on technology, participants, trends, market size and share
Global and Chinese market of digital impression system 2022-2028: Research Report on technology, participants, trends, market size and share
Li Chuang EDA learning notes IX: layers
This function has none of DETERMINISTIC, NO SQL..... (you *might* want to use the less safe log_bin_t
Keepalived set the master not to recapture the VIP after fault recovery (it is invalid to solve nopreempt)
基於.NetCore開發博客項目 StarBlog - (14) 實現主題切換功能
Push technology practice | master these two tuning skills to speed up tidb performance a thousand times!
Keep an IT training diary 054- opening and closing
Override and virtual of classes in C #
Contest3145 - the 37th game of 2021 freshman individual training match_ F: Smallest ball
7 * 24-hour business without interruption! Practice of applying multiple live landing in rookie villages
Valentine's Day - 9 jigsaw puzzles with deep love in wechat circle of friends
On Valentine's day, I code a programmer's exclusive Bing Dwen Dwen (including the source code for free)
Database concept and installation
Contest3145 - the 37th game of 2021 freshman individual training match_ G: Score
[UE4] parse JSON string
ZABBIX API pulls the values of all hosts of a monitoring item and saves them in Excel
C learning notes: C foundation - Language & characteristics interpretation