1. Compare string size functions
1) Case Insensitive --- strcasecmp
Function prototype: Int strcasecmp (const char * S1, const char * S2 );
Function Description: Used to compare S1 and S2 strings. Differences in Case sensitivity are automatically ignored during comparison.
2) case-insensitive-stricmp
Function prototype: Int stricmp (char * str1, char * str2 );
Function Description: Compares two strings in upper and lower case insensitive mode.
3) case-insensitive-strcmp
Function prototype: Int strcmp (char * str1, char * str2 );
Function Description: Compares str1 and str2 strings by comparing the ASCII codes of each character in a string. The case sensitivity of the characters is considered during comparison.
4) Comparison part-strncmpi
Function prototype: Int strncmpi (char * str1, char * str2, unsigned maxlen );
Function Description: Compares the first maxlen characters of str1 and str2.
5) memory region comparison --- memcmp
Function prototype: Int memcmp (void * buf1, void * buf2, unsigned int count)
Function Description: Compare the first count bytes of buf1 and buf2 in the memory area. Void * refers to any type of pointer.
6) memory area comparison-memicmpVoid * refers to any type of pointer.
Function prototype: Int memicmp (void * buf1, void * buf2, unsigned int count)
Function Description: Compare the first count bytes of buf1 and buf2 in the memory area, but the values are case-insensitive.
Return values of the above comparison functions: If the string in parameter 1 is the same as the string in parameter 2, 0 is returned;
If the string length in parameter 1 is greater than the string length in parameter 2, a value greater than 0 is returned;
If the string length in parameter 1 is smaller than the string length in parameter 2, a value smaller than 0 is returned.2. Extract substrings from strings
1) extract the substring -- strstr
Function prototype: Char * strstr (char * SRC, char * Find)
Function Description: Search for the position where find first appears from the SRC string (not compare the terminator null)
Return Value: Returns the pointer pointing to the first find position. If not found, null is returned.
2) extract the string between separators-strtok
Function prototype: Char * strtok (char * SRC, char * delim );
Function Description: The string to be decomposed. SRC is the string to be decomposed, and delim is the separator string.
For the first call, Src must point to the string to be decomposed, and then calls to set S to NULL;
In strtok, Src searches for characters contained in delim and replaces them with null ('\ 0') until the entire string is searched.
Return Value: Split strings starting with S. If no split string exists, null is returned.
All delim characters are filtered out, And the filtered characters are set as a separate node.
Example:
# Include <string. h>
# Include <stdio. h>
Int main (){
Char * s = "golden Global View ";
Char * D = "";
Char * P;
P = strtok (S, d );
While (p ){
Printf ("% s \ n", P );
Strtok (null, d );
}
Return 0;
}
Output: Golden
Global
View
3. Copy strings
1) string replication -- strcpy
Function prototype: Char * strcpy (char * DEST, char * SRC)
Function Description: Copy the string ending with null indicated by Src to the array indicated by DeST.
The memory areas caused by Src and DEST cannot overlap and DEST must have enough space to hold SRC strings.
Return Value: Returns the pointer to DeST.
2) string replication -- strdup
Function prototype: Char * strdup (char * SRC)
Function Description: Copy the SRC string
Return Value: Returns the pointer to the copied string. The space required is allocated by malloc () and free () can be released.
3) memory space replication-memcpy
Function prototype: Void * memcpy (void * DEST, void * SRC, unsigned int count );
Function Description: The memory areas specified by Src and DEST cannot overlap. The memory areas caused by Src copy count bytes to the memory area specified by DeST.
Return Value: Returns the pointer to DeST.
4. String connection
1) end-to-end connection -- strcat
Function prototype: Char * strcat (char * DEST, char * SRC)
Function Description: Add the string indicated by Src to the end of DeST (overwrite '\ 0' at the end of DEST) and add' \ 0'
2) partially connected -- strncat
Function prototype:Char * strncat (char * DEST, char * SRC, int N );
Function Description: Add the first n characters of the string in SRC to the end of DeST (overwrite '\ 0' at the end of DEST) and add ''\ 0 '.
Return Value: Returns the pointer to DeST.
5. Search for characters from strings
1) Search for characters in the memory area-memchr
Function prototype: Void * memchr (void * Buf, char CH, usigned count)
Function Description: Searches for the character ch from the first count bytes of the memory area indicated by BUF. If the character ch is encountered for the first time, the query is stopped.
Return Value: If yes, the pointer pointing to the CH character is returned; otherwise, null is returned.
2) Find the character in the string -- strchr
Function prototype: Char * strchr (char * SRC, char ch)
Function Description: Search for the location where the character ch appears for the first time in string S.
Return Value: Returns the pointer to the position where C appears for the first time. If C does not exist in S, null is returned.
3) Search for the current character-strcspns
Function prototype: Int strcspn (char * SRC, char * Find)
Function Description: Search for characters in find in the SRC string
Return Value: Return the next mark value of the first occurrence character in SRC, that is, the length of the string that appears in SRC but not in find.
Example:
# Include <string. h>
# Include <stdio. h>
Int main (){
Char * s = "golden Global View ";
Char * r = "new ";
Int N;
N = strcspn (S, R );
Printf ("the first char both in S1 and S2 is: % C", s [N]);
Return 0;
}
Output: The first char both in S1 and S2 is: E
4) match any character -- strpbrk
Function prototype: char * strpbrk (char * S1, char * S2)
Function Description: searches for the position of the first character matching any character in string S2 in string S1. null characters are not included.
Return Value: returns the pointer to the first matched character in S1. If no matched character exists, a null pointer is returned.
Example:
# Include <stdio. h>
# Include <string. h>
Int main (){
Char * S1 = "Welcome to Beijing ";
Char * S2 = "bit ";
Char * P;
P = strpbrk (S1, S2 );
If (P)
Printf ("% s \ n", P );
Else printf ("not found! \ N ");
Return 0;
}
Output: to Beijing
6. Other functions
1) convert all to uppercase --- strupr
Function prototype: Char * strupr (char * SRC)
Function Description: Converts a string SRC to a large write type. Only lowercase letters in SRC are converted without changing other characters.
Return Value: Returns a pointer to SRC.
2) convert all to lowercase --- strlwr
Function prototype: Char * strlwr (char * SRC)
Function Description: Converts a string SRC to lowercase letters. Only uppercase letters in SRC are converted without changing other characters.
Return Value: Returns a pointer to SRC.
3) Reverse the string-strrev
Function prototype: Char * strrev (char * SRC)
Function Description: Reverse the order of all characters in the SRC string (excluding null)
Return Value: Returns the string pointer pointing to the reverse order.