C++ åèæå
- C++11
- C++14
- C++17
- C++20
- C++ ç¼è¯å¨æ¯ææ åµè¡¨
- ç¬ç«ä¸å®¿ä¸»å®ç°
- C++ è¯è¨
- C++ å ³é®è¯
- é¢å¤çå¨
- C++ æ ååºå¤´æä»¶
- å ·åè¦æ±
- åè½ç¹æ§æµè¯ (C++20)
- å·¥å ·åº
- ç±»åæ¯æï¼åºæ¬ç±»åãRTTIãç±»åç¹æ§ï¼
- æ¦å¿µåº (C++20)
- é误å¤ç
- 卿å å管ç
- æ¥æåæ¶é´å·¥å ·
- å符串åº
- std::basic_string
- std::basic_string_view
- ç©ºç»æ¢åèå符串
- std::isalnum
- std::isalpha
- std::islower
- std::isupper
- std::isdigit
- std::isxdigit
- std::isblank
- std::iscntrl
- std::isgraph
- std::isspace
- std::isprint
- std::ispunct
- std::tolower
- std::toupper
- std::atof
- std::atoi, std::atol, std::atoll
- std::strtol, std::strtoll
- std::strtoul, std::strtoull
- std::strtof, std::strtod, std::strtold
- std::strtoimax, std::strtoumax
- std::strcpy
- std::strncpy
- std::strcat
- std::strncat
- std::strxfrm
- std::strlen
- std::strcmp
- std::strncmp
- std::strcoll
- std::strchr
- std::strrchr
- std::strspn
- std::strcspn
- std::strpbrk
- std::strstr
- std::strtok
- std::memchr
- std::memcmp
- std::memset
- std::memcpy
- std::memmove
- std::strerror
- ç©ºç»æ¢å¤åèå符串
- ç©ºç»æ¢å®½å符串
- std::char_traits
- 注é
- 容å¨åº
- è¿ä»£å¨åº
- èå´åº (C++20)
- ç®æ³åº
- æ°å¼åº
- è¾å ¥/è¾åºåº
- æä»¶ç³»ç»åº
- æ¬å°ååº
- æ£å表达å¼åº
- ååæä½åº
- çº¿ç¨æ¯æåº
- å®éªæ§ C++ ç¹æ§
- æç¨çèµæº
- ç´¢å¼
- std 符å·ç´¢å¼
- åç¨æ¯æ (C++20)
- C++ å ³é®è¯
ä½ç½®ï¼é¦é¡µ > C++ åèæå >åç¬¦ä¸²åº >ç©ºç»æ¢åèå符串 > std::memcmp
std::memcmp
| å®ä¹äºå¤´æä»¶ <cstring>
|
||
| int memcmp( const void* lhs, const void* rhs, std::size_t count ); |
||
è½¬è¯ lhs å rhs ææåç对象为 unsigned char æ°ç»ï¼å¹¶æ¯è¾è¿äºæ°ç»çé¦ count 个å符ãæåå
¸åºæ¯è¾ã
ç»æçç¬¦å·æ¯å¨è¢«æ¯è¾å¯¹è±¡ä¸ç¸å¼çé¦å¯¹åèçå¼ï¼é½è½¬è¯æ unsigned char ï¼çå·®ã
åæ°
| lhs, rhs | - | æåè¦æ¯è¾çå åç¼å²åºçæé |
| count | - | è¦æ£éªçåèæ° |
è¿åå¼
è¥ lhs ä¸é¦ä¸ªç¸å¼åèï¼è½¬è¯ä¸º unsigned char ï¼å°äº rhs ä¸ç对åºåèå为è´å¼ã
è¥ lhs å rhs çææ count 个åèç¸çå为 â0â ã
è¥ lhs ä¸é¦ä¸ªç¸å¼åèå¤§äº rhs ä¸ç对åºåèå为æ£å¼ã
注æ
æ¤å½æ°è¯»å对象表示ï¼èé对象å¼ï¼èä¸å
¸åå°åªå¯¹æ å¡«å
çå¯å¹³å¡å¤å¶å¯¹è±¡ææä¹ãä¾å¦äºä¸ª std::string æ std::vector ç±»å对象é´ç memcmp() å°ä¸æ¯è¾å
¶å
容ï¼èäºä¸ª struct{char c; int n;} ç±»å对象é´ç memcmp() å°æ¯è¾å¡«å
åèï¼å
¶å¼å¨ c å n ç¸åæ¶å¯ä»¥ç¸å¼ã
示ä¾
#include <iostream> #include <cstring> Â void demo(const char* lhs, const char* rhs, std::size_t sz) { std::cout << std::string(lhs, sz); int rc = std::memcmp(lhs, rhs, sz); if(rc == 0) std::cout << " compares equal to "; else if(rc < 0) std::cout << " precedes "; else if(rc > 0) std::cout << " follows "; std::cout << std::string(rhs, sz) << " in lexicographical order\n"; } Â int main() { char a1[] = {'a','b','c'}; char a2[sizeof a1] = {'a','b','d'}; Â demo(a1, a2, sizeof a1); demo(a2, a1, sizeof a1); demo(a1, a1, sizeof a1); }
è¾åºï¼
abc precedes abd in lexicographical order abd follows abc in lexicographical order abc compares equal to abc in lexicographical order
åé
| æ¯è¾ä¸¤ä¸ªå符串 (彿°) | |
| æ¯è¾ä¸¤ä¸ªå符串çä¸å®éå符 (彿°) |