📄 pub_string.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 + -