string.h関数のまとめ


string.h    

                                
1     #ifndef __STRING_NO_EXPORTS
      using ::std::size_t;
      using ::std::memcpy;//xtern void *memcpy(void *dest, void *src, unsigned int count);
//    : src        count    dest      
      using ::std::memmove;//			memmove()         ,    :
//    void * memmove(void *dest, const void *src, size_t num);
//memmove()   memcpy()          src          num      dest       。
//    ,memmove()     ,
// src   dest           ,memmove()          ,            memcpy()    。


      using ::std::strcpy;// char *strcpy(char* dest, const char *src);            
//  src       NULL           dest       
//.src dest            dest           src    。    dest   
      using ::std::strncpy;//char *?strncpy(char *dest, char *src,size_t num);
//  src    (  ,  、  ....) dest,     num    ,
//    dest   。    null  ('\0'),     num    ,  (num - n)
//(n   null        null    ) null     destination。
     using ::std::strcat;//char *strcat(char *dest,char *src);       
// src        dest   (  dest    '\0')   '\0'。
//src dest            dest           src    。    dest   。
      using ::std::strncat;//char *strncat(char *dest,char *src,int n);
// src       n      dest   (  dest    '\0')
//   '\0'。src dest            dest           src    。    dest   。
      using ::std::memcmp;		
//     int memcmp(const void *buf1, const void *buf2, unsigned int count);
//    
//      buf1 buf2  count   。
//   
// buf1buf2 ,   >0
      using ::std::strcmp;//int strcmp(const char *s1,const char * s2);
//     s1 s2。
// s1s2 ,   >0
// :               ( ASCII      ),           '\0'  。
      using ::std::strncmp;//int?strncmp(char *str1, char *str2, int maxlen);
//           str1 str2  maxlen   。
//   maxlen      ,    =0;
//  maxlen       ,    str1[n] str2[n]  ,   (str1[n]-str2[n])。

      using ::std::strcasecmp;//			int?strcasecmp?(const char *s1, const char *s2);
//strcasecmp()      s1 s2   ,              。
//   s1 s2        0。
//s1  s2     0   。
//s1   s2      0  。

      using ::std::strncasecmp;
//int?strncasecmp(const char *s1, const char *s2, size_t n)
//strncasecmp()      s1 s2    n   ,              ,
//   s1 s2        0?
//s1   s2     0  
//s1   s2     0  .
		
      using ::std::strcoll;
//	    strcoll()      。
//int strcoll(const char *str1, const char *str2)	
//			str1?--             。		
//			str2?--              。
//	          :	
//			     <0,   str1  str2		
//			     ,  > 0,   str2?   str1		
//			     = 0,   str1?  str2
			//     (LC_COLLATE "POSIX" "C") strcmp    ASCII       ,          。
			//     LC_COLLATE        ,   LC_COLLATE             。  :  ,        。
			//2、strcmp           ,          0,                     ,      。
			//           :             ,      ASCII    ,      ,
			//        ,                            
			//,                   ,           ,         。
      using ::std::memchr;
//			     void *memchr(const void *str, int c, size_t n) 
//    str           n               c(       )   。
//  
//    memchr()      。
//void *memchr(const void *str, int c, size_t n)
//  
//str --            。
//c --   int       ,                         。
//n --         。
//   
//                ,               ,    NULL。
//  
//         memchr()      。
//  
//#include 
//#include 
// 
//int main ()
//{
//   const char str[] = "http://www.runoob.com";
//   const char ch = '.';
//   char *ret;
// 
//   ret = (char*)memchr(str, ch, strlen(str));
// 
//   printf("|%c|         - |%s|
", ch, ret); // // return(0); //} using ::std::strchr;//char *strchr(char *str,char c); using ::std::strcspn; // C size_t strcspn(const char *str1, const char *str2) str1 str2 。 // // strcspn() 。 //size_t strcspn(const char *str1, const char *str2) using ::std::strpbrk; // C char *strpbrk(const char *str1, const char *str2) // str1 str2 , 。 // , str1 , str2 , , 。 // // strpbrk() 。 //char *strpbrk(const char *str1, const char *str2) // //str1 -- C 。 //str2 -- str1 。 // // str1 str2 , NULL。 // // strpbrk() 。 //#include //#include //int main () //{ // const char str1[] = "abcde2fghi3jk4l"; // const char str2[] = "34"; // char *ret; // ret = strpbrk(str1, str2); // if(ret) // { // printf(" : %c
", *ret); // } // else // { // printf(" "); // } // // return(0); //} // , : // : 3 using ::std::strrchr; // C char *strrchr(const char *str, int c) str c( ) 。 // // strrchr() 。 //char *strrchr(const char *str, int c) // //str -- C 。 //c -- 。 int , char 。 // // str c 。 , 。 // // strrchr() 。 // //#include //#include // //int main () //{ // int len; // const char str[] = "https://www.runoob.com"; // const char ch = '.'; // char *ret; // // ret = strrchr(str, ch); // // printf("|%c| - |%s|
", ch, ret); // // return(0); //} // , : //|.| - |.com| using ::std::strspn; // C size_t strspn(const char *str1, const char *str2) str1 str2 。 // // strspn() 。 //size_t strspn(const char *str1, const char *str2) // //str1 -- C 。 //str2 -- str1 。 // // str1 str2 。 // // strspn() 。 //#include //#include //int main () //{ // int len; // const char str1[] = "ABCDEFG019874"; // const char str2[] = "ABCD"; // len = strspn(str1, str2); // printf(" %d
", len ); // // return(0); //} // , : // 4 using ::std::strstr; // C char *strstr(const char *haystack, const char *needle) haystack needle , '\0'。 // // strstr() 。 //char *strstr(const char *haystack, const char *needle) // //haystack -- C 。 //needle -- haystack 。 // // haystack needle , null。 // // strstr() 。 //#include //#include //int main() //{ // const char haystack[20] = "RUNOOB"; // const char needle[10] = "NOOB"; // char *ret; // ret = strstr(haystack, needle); // printf(" : %s
", ret); // // return(0); //} // , : // : NOOB using ::std::strtok; // C char *strtok(char *str, const char *delim) str ,delim 。 // // strtok() 。 //char *strtok(char *str, const char *delim) // //str -- 。 //delim -- C 。 // // , , 。 // // strtok() 。 // //#include //#include // //int main () { // char str[80] = "This is - www.runoob.com - website"; // const char s[2] = "-"; // char *token; // // /* */ // token = strtok(str, s); // // /* */ // while( token != NULL ) { // printf( "%s
", token ); // // token = strtok(NULL, s); // } // // return(0); //} // , : //This is // www.runoob.com // website #ifndef __STRICT_ANSI__ using ::std::strtok_r; #endif using ::std::_strtok_r; using ::std::memset; // void *memset(void *str, int c, size_t n) c( ) str n 。 // // memset() 。 //void *memset(void *str, int c, size_t n) // //str -- 。 //c -- 。 int , 。 //n -- 。 // // str 。 // // memset() 。 //#include //#include //int main () //{ // char str[50]; // strcpy(str,"This is string.h library function"); // puts(str); // memset(str,'$',7); // puts(str); // // return(0); //} // , : //This is string.h library function //$$$$$$$ string.h library function using ::std::strerror; // char *strerror(int errnum) errnum, 。strerror 。 // // strerror() 。 //char *strerror(int errnum) // //errnum -- , errno。 // // , errnum。 // // strerror() 。 //#include //#include //#include //int main () //{ // FILE *fp; // fp = fopen("file.txt","r"); // if( fp == NULL ) // { // printf("Error: %s
", strerror(errno)); // } // // return(0); //} // , , : //Error: No such file or directory using ::std::strlen; // unsigned int strlen(char *s); // s (unsigned int ) , '\0' . s , NULL using ::std::strlcpy; using ::std::strlcat; using ::std::_membitcpybl; using ::std::_membitcpybb; using ::std::_membitcpyhl; using ::std::_membitcpyhb; using ::std::_membitcpywl; using ::std::_membitcpywb; using ::std::_membitmovebl; using ::std::_membitmovebb; using ::std::_membitmovehl; using ::std::_membitmovehb; using ::std::_membitmovewl; using ::std::_membitmovewb; #endif /* __STRING_NO_EXPORTS */ // // 1 void *memchr(const void *str, int c, size_t n) // str n c( ) 。 //2 int memcmp(const void *str1, const void *str2, size_t n) // str1 str2 n 。 //3 void *memcpy(void *dest, const void *src, size_t n) // src n dest。 //4 void *memmove(void *dest, const void *src, size_t n) // src n dest 。 //5 void *memset(void *str, int c, size_t n) // c( ) str n 。 //6 char *strcat(char *dest, const char *src) // src dest 。 //7 char *strncat(char *dest, const char *src, size_t n) // src dest , n 。 //8 char *strchr(const char *str, int c) // str c( ) 。 //9 int strcmp(const char *str1, const char *str2) // str1 str2 。 //10 int strncmp(const char *str1, const char *str2, size_t n) // str1 str2 , n 。 //11 int strcoll(const char *str1, const char *str2) // str1 str2 , LC_COLLATE 。 //12 char *strcpy(char *dest, const char *src) // src dest。 //13 char *strncpy(char *dest, const char *src, size_t n) // src dest, n 。 //14 size_t strcspn(const char *str1, const char *str2) // str1 str2 。 //15 char *strerror(int errnum) // errnum, 。 //16 size_t strlen(const char *str) // str , , 。 //17 char *strpbrk(const char *str1, const char *str2) // str1 str2 , 。 , str1 , str2 , , 。 //18 char *strrchr(const char *str, int c) // str c( ) 。 //19 size_t strspn(const char *str1, const char *str2) // str1 str2 。 //20 char *strstr(const char *haystack, const char *needle) // haystack needle( ) 。 //21 char *strtok(char *str, const char *delim) // str ,delim 。 //22 size_t strxfrm(char *dest, const char *src, size_t n) // LC_COLLATE src n , dest 。