• 截取字符串


    char *strrchr( const char *string, int c );

    char *wcsrchr( const wchar_t *string, int c );

    int _mbsrchr( const unsigned char *string, unsigned int c );

    Routine Required Header Compatibility
    strrchr <string.h> ANSI, Win 95, Win NT
    wcsrchr <string.h> or <wchar.h> ANSI, Win 95, Win NT
    _mbsrchr <mbstring.h> Win 95, Win NT

    Return Value

    Each of these functions returns a pointer to the last occurrence of c in string, or NULL if c is not found.

    Parameters

    string

    Null-terminated string to search

    c

    Character to be located

    Remarks

    The strrchr function finds the last occurrence of c (converted to char) in string. The search includes the terminating null character.

    wcsrchr and _mbsrchr are wide-character and multibyte-character versions of strrchr. The arguments and return value of wcsrchr are wide-character strings; those of _mbsrchr are multibyte-character strings. These three functions behave identically otherwise.

    Generic-Text Routine Mappings

    TCHAR.H Routine _UNICODE & _MBCS Not Defined _MBCS Defined _UNICODE Defined
    _tcsrchr strrchr _mbsrchr wcsrchr

    Example

    /* STRCHR.C: This program illustrates searching for a character
     * with strchr (search forward) or strrchr (search backward).
     */
    
    #include <string.h>
    #include <stdio.h>
    
    int  ch = 'r';
    
    char string[] = "The quick brown dog jumps over the lazy fox";
    char fmt1[] =   "         1         2         3         4         5";
    char fmt2[] =   "12345678901234567890123456789012345678901234567890";
    
    void main( void )
    {
       char *pdest;
       int result;
    
       printf( "String to be searched: 
    		%s
    ", string );
       printf( "		%s
    		%s
    
    ", fmt1, fmt2 );
       printf( "Search char:	%c
    ", ch );
    
       /* Search forward. */
       pdest = strchr( string, ch );
       result = pdest - string + 1;
       if( pdest != NULL )
          printf( "Result:	first %c found at position %d
    
    ",
                  ch, result );
       else
          printf( "Result:	%c not found
    " );
    
       /* Search backward. */
       pdest = strrchr( string, ch );
       result = pdest - string + 1;
       if( pdest != NULL )
          printf( "Result:	last %c found at position %d
    
    ", ch, result );
       else
          printf( "Result:	%c not found
    " );
    }
    
    

    Output

    String to be searched:
          The quick brown dog jumps over the lazy fox
                   1         2         3         4         5
          12345678901234567890123456789012345678901234567890
    
    Search char:   r
    Result:   first r found at position 12
    
    Result:   last r found at position 30
    
    

    String Manipulation Routines

    See Also   strchr, strcspn, _strnicmp, strpbrk, strspn

  • 相关阅读:
    【集训第二天·翻水的老师】--ac自动机+splay树
    【集训第一天·特来卖萌】树链剖分之水水的例题
    1.ARM寄存器简解
    2.汇编代码的简单实现
    Android之Activity 生命周期
    Android之SQLite
    魅族 -- 禁止D及以下级别LOG的输出
    常用的SQL语句
    Android开发工具
    Android介绍
  • 原文地址:https://www.cnblogs.com/chechen/p/3870350.html
Copyright © 2020-2023  润新知