⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 pub_string.c

📁 自已结累的Unix下C语言开发函数库
💻 C
字号:
/* * Program Name : pub_String.c                                        * Description  : 字符串操作相关函数                                  * Create Date  : 2004-08-31                                          * Author       : shilyu                                              *functionnum 008 */#include "./../inc/pub.h"#if !defined( DEBUG )#define DEBUG#endif/* 001 * Function Name  : StrTrim                                          * Description    : 去掉字符串中的空格                               * Input Para     : s        要去掉空格的字符串                      *                  Mode     方式                                    *                           'L' 去掉左空格                          *                           'R' 去掉右空格                          *                           'A' 去掉左右空格                        * Output Para    : s        去掉空格后的字符串                      * Return Code    : No                                               * Note           : s     必须是已经分配好空间的                     */ void StrTrim ( s , Mode )char *s   ;char Mode ;{   int  i ;   char *p ;   if ( s            == NULL ) return ;   if ( strlen ( s ) == ZERO ) return ;   p = s ;   switch ( toupper ( Mode ) )   {      case 'L':         while( ( *p == ' ' || *p == '\t' ) && ( strlen ( p ) > ZERO  ) )  p++ ;         strcpy ( s , p ) ;         break ;      case 'R':	      while ( ( ( s [ strlen ( s ) - 1 ] == ' ' ) || ( s [ strlen ( s ) - 1 ] == '\t' ) ) &&		           ( strlen ( s ) > 0  ) )            s [ strlen ( s ) - 1 ] = 0x00 ;         break ;      case 'A':         while ( ( *p == ' ' || *p == '\t' ) && ( strlen ( p ) > 0  ) ) p++ ;         strcpy ( s , p ) ;	      while ( ( ( s [ strlen ( s ) - 1 ] == ' ' ) || ( s [ strlen ( s ) - 1 ] == '\t' )  ) &&		           ( strlen ( s ) > 0  ) )            s [ strlen ( s ) - 1 ] = 0x00 ;         break ;   }   return ;}/* 002 * 将一字符串替换成大写字母 */void ToUpperStr ( String )char *String ;{    int i ;    if ( String == NULL ) return ;    for ( i = ZERO ; i < strlen ( String ) ; i++ )    {	    if ( isascii ( String [ i ] ) && islower ( String [ i ] ) )            String [ i ] = toupper ( String [ i ] ) ;    }}/* 003 * 将一字符串替换成小写字母 */void ToLowerStr ( String )char *String ;{    int i ;    if ( String == NULL ) return ;    for ( i = ZERO ; i < strlen ( String ) ; i++ )    {	    if ( isascii ( String [ i ] ) && isupper ( String [ i ] ) )	         String [ i ] = tolower ( String [ i ] ) ;    }}/* 004 * 从一字符串中找出某个字符第一次出现时的位置 */int  FindChar ( str , ch )char *str , ch ;{    int   i;    if ( str == NULL ) return ( ERROR ) ;    for ( i = ZERO; i < strlen ( str ) ; i++ )       if ( str[i] == ch ) break;    return  ( ( i== strlen ( str ) ) ? ERROR : i ) ;}/* 005 * 从一字符串中找出另一字符串第一次出现的位置 */int FindStr ( str , substr )char *str , *substr ;{    char *p ;    int  i ;    if ( str == NULL ) return ( ERROR ) ;    if ( strlen ( str ) < strlen ( substr ) )        return ( ERROR ) ;    for ( i = ZERO , p = str ; strlen ( substr ) <= strlen ( p ) ; i++ , p++ )        if ( strncmp ( p , substr , strlen ( substr ) ) == OK )             return ( i ) ;    return ( ERROR ) ;}/* 006 * 定长字符串居中,前后补空格 */int SetCenterStr ( InputStr, Len, OutputStr )char     *InputStr  ; /*输入字符串    */long     Len        ; /*输出字符串长度*/char     *OutputStr ; /*输出字符串    */{   char  s_TmpStr[ 100 ] ;   int   i ;   int   LeftSpaceLen ;   int   RightSpaceLen ;   LeftSpaceLen  = ( Len - strlen( InputStr ) ) / 2;   RightSpaceLen = Len - LeftSpaceLen - strlen( InputStr ) ;   strcpy ( s_TmpStr , "" ) ;   for ( i = 1 ; i <= LeftSpaceLen ; i ++ )   {   	strcat ( s_TmpStr , " " ) ;   }   strcat ( s_TmpStr , InputStr ) ;   strcpy ( OutputStr , s_TmpStr ) ;   strcpy ( s_TmpStr , "" ) ;   for ( i = 1 ; i <= RightSpaceLen ; i ++ )   {   	strcat ( s_TmpStr , " " ) ;   }   strcat ( OutputStr , s_TmpStr ) ;}/* 007 *定长字符串居右,前补空格  */int SetRightStr ( InputStr, Len, OutputStr )char     *InputStr  ;  /*输入字符串    */long     Len        ;  /*输出字符串长度*/char     *OutputStr ;  /*输出字符串    */{   char  s_TmpStr[ 100 ] ;   int   i ;   strcpy ( s_TmpStr , "" ) ;   for ( i = 1 ; i <= Len - strlen( InputStr ) ; i ++ )   {   	strcat ( s_TmpStr , " " ) ;   }   strcat ( s_TmpStr , InputStr ) ;   strcpy ( OutputStr , s_TmpStr ) ;}/* 008 *定长字符串居左,后补空格  */int SetLeftStr ( InputStr, Len, OutputStr )char     *InputStr  ;  /*输入字符串    */long     Len        ;  /*输出字符串长度*/char     *OutputStr ;  /*输出字符串    */{   char  s_TmpStr[ 100 ] ;   int   i ;   strcpy ( s_TmpStr , "" ) ;   strcat ( s_TmpStr , InputStr ) ;      for ( i = 1 ; i <= Len - strlen( InputStr ) ; i ++ )   {   	strcat ( s_TmpStr , " " ) ;   }   strcpy ( OutputStr , s_TmpStr ) ;}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -