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

📄 lib_ascii.h

📁 飞思卡尔HCS12的OS移植(ucosII),实现了三个任务,IDE:CODEWARRIOR
💻 H
📖 第 1 页 / 共 3 页
字号:

#define  ASCII_IS_GRAPH(c)            ((((c) >= ASCII_CHAR_EXCLAMATION_MARK) && ((c) <= ASCII_CHAR_TILDE)) ? (DEF_YES) : (DEF_NO))

/*
*********************************************************************************************************
*                                            ASCII_IS_LOWER()
*
* Description : Determine whether character is a lowercase alphabetic character.
*
* Argument(s) : c           Character to examine.
*
* Return(s)   : DEF_YES, if character is     an lowercase alphabetic character.
*
*               DEF_NO,	 if character is NOT an lowercase alphabetic character.
*
* Caller(s)   : various.
*
* Note(s)     : none.
*********************************************************************************************************
*/

#define  ASCII_IS_LOWER(c)            ((((c) >= ASCII_CHAR_LATIN_SMALL_A) && ((c) <= ASCII_CHAR_LATIN_SMALL_Z)) ? (DEF_YES) : (DEF_NO))

/*
*********************************************************************************************************
*                                            ASCII_IS_PRINT()
*
* Description : Determine whether character is a printing character.
*
* Argument(s) : c           Character to examine.
*
* Return(s)   : DEF_YES, if character is     an printing character.
*
*               DEF_NO,	 if character is NOT an printing character.
*
* Caller(s)   : various.
*
* Note(s)     : (1) ISO/IEC 9899, Note 170, states that in the 'seven-bit US ASCII character set, the
*                   printing characters are those whose values lie from 0x20 (space) through 0x7E
*                   (tilde).'
*********************************************************************************************************
*/

#define  ASCII_IS_PRINT(c)            ((((c) >= ASCII_CHAR_SPACE) && ((c) <= ASCII_CHAR_TILDE)) ? (DEF_YES) : (DEF_NO))

/*
*********************************************************************************************************
*                                            ASCII_IS_PUNCT()
*
* Description : Determine whether character is a punctuation character.
*
* Argument(s) : c           Character to examine.
*
* Return(s)   : DEF_YES, if character is     an punctuation character.
*
*               DEF_NO,	 if character is NOT an punctuation character.
*
* Caller(s)   : various.
*
* Note(s)     : (1) 'ASCII_IS_PUNCT()' returns TRUE if 'ASCII_IS_PRINT()' would return TRUE for the
*                   argument character, but BOTH 'ASCII_IS_SPACE()' AND 'ASCII_IS_ALNUM()' would return
*                   FALSE.
*********************************************************************************************************
*/

#define  ASCII_IS_PUNCT(c)           (((((c) >= ASCII_CHAR_EXCLAMATION_MARK   ) && ((c) <= ASCII_CHAR_SOLIDUS      )) || \
                                       (((c) >= ASCII_CHAR_COLON              ) && ((c) <= ASCII_CHAR_COMMERCIAL_AT)) || \
                                       (((c) >= ASCII_CHAR_LEFT_SQUARE_BRACKET) && ((c) <= ASCII_CHAR_GRAVE_ACCENT )) || \
                                       (((c) >= ASCII_CHAR_LEFT_CURLY_BRACKET ) && ((c) <= ASCII_CHAR_TILDE        )))   ? (DEF_YES) : (DEF_NO))

/*
*********************************************************************************************************
*                                            ASCII_IS_SPACE()
*
* Description : Determine whether character is a white-space character.
*
* Argument(s) : c           Character to examine.
*
* Return(s)   : DEF_YES, if character is     a white-space character.
*
*               DEF_NO,	 if character is NOT a white-space character.
*
* Caller(s)   : various.
*
* Note(s)     : (1) ISO/IEC 9899, Section 7.4.1.10.2 defines the "standard white-space characters" as the
*                   space (' '), the form feed ('\f'), the new-line ('\n'), the carriage return ('\r'),
*                   the horizontal tab ('\t') & the vertical tab ('\v').
*********************************************************************************************************
*/

#define  ASCII_IS_SPACE(c)            ((((c) == ASCII_CHAR_SPACE) || ((c) == ASCII_CHAR_FF) ||  \
                                        ((c) == ASCII_CHAR_LF   ) || ((c) == ASCII_CHAR_CR) ||  \
                                        ((c) == ASCII_CHAR_HT   ) || ((c) == ASCII_CHAR_VT))    ? (DEF_YES) : (DEF_NO))

/*
*********************************************************************************************************
*                                            ASCII_IS_UPPER()
*
* Description : Determine whether character is a uppercase alphabetic character.
*
* Argument(s) : c           Character to examine.
*
* Return(s)   : DEF_YES, if character is     an uppercase alphabetic character.
*
*               DEF_NO,	 if character is NOT an uppercase alphabetic character.
*
* Caller(s)   : various.
*
* Note(s)     : none.
*********************************************************************************************************
*/

#define  ASCII_IS_UPPER(c)            ((((c) >= ASCII_CHAR_LATIN_CAPITAL_A) && ((c) <= ASCII_CHAR_LATIN_CAPITAL_Z)) ? (DEF_YES) : (DEF_NO))

/*
*********************************************************************************************************
*                                            ASCII_IS_XDIGIT()
*
* Description : Determine whether character is a hexadecimal-digit character.
*
* Argument(s) : c           Character to examine.
*
* Return(s)   : DEF_YES, if character is     a hexadecimal-digit character.
*
*               DEF_NO,	 if character is NOT a hexadecimal-digit character.
*
* Caller(s)   : various.
*
* Note(s)     : none.
*********************************************************************************************************
*/

#define  ASCII_IS_XDIGIT(c)          (((((c) >= ASCII_CHAR_DIGIT_ZERO     ) && ((c) <= ASCII_CHAR_DIGIT_NINE     )) || \
                                       (((c) >= ASCII_CHAR_LATIN_CAPITAL_A) && ((c) <= ASCII_CHAR_LATIN_CAPITAL_F)) || \
                                       (((c) >= ASCII_CHAR_LATIN_SMALL_A  ) && ((c) <= ASCII_CHAR_LATIN_SMALL_F  )))   ? (DEF_YES) : (DEF_NO))

/*$PAGE*/
/*
*********************************************************************************************************
*                                  ASCII CHARACTER CASE MAPPING MACRO's
*********************************************************************************************************
*/

/*
*********************************************************************************************************
*                                            ASCII_TO_LOWER()
*
* Description : Convert uppercase letter to a corresponding lowercase letter.
*
* Argument(s) : c           Character to examine.
*
* Return(s)   : If 'ASCII_IS_UPPER()' would return TRUE for the argument character, the lowercase
*               equivalent is returned.  Otherwise, the argument character is returned.
*
* Caller(s)   : various.
*
* Note(s)     : none.
*********************************************************************************************************
*/

#define  ASCII_TO_LOWER(c)            ((((c) >= ASCII_CHAR_LATIN_CAPITAL_A) && ((c) <= ASCII_CHAR_LATIN_CAPITAL_Z)) ? ((c) + 0x20) : (c))

/*
*********************************************************************************************************
*                                            ASCII_TO_UPPER()
*
* Description : Convert lowercase letter to a corresponding uppercase letter.
*
* Argument(s) : c           Character to examine.
*
* Return(s)   : If 'ASCII_IS_LOWER()' would return TRUE for the argument character, the uppercase
*               equivalent is returned.  Otherwise, the argument character is returned.
*
* Caller(s)   : various.
*
* Note(s)     : none.
*********************************************************************************************************
*/

#define  ASCII_TO_UPPER(c)            ((((c) >= ASCII_CHAR_LATIN_SMALL_A) && ((c) <= ASCII_CHAR_LATIN_SMALL_Z)) ? ((c) - 0x20) : (c))


/*
*********************************************************************************************************
*                                         FUNCTION PROTOTYPES
*********************************************************************************************************
*/

CPU_BOOLEAN  ASCII_IsAlnum (CPU_CHAR  c);

CPU_BOOLEAN  ASCII_IsAlpha (CPU_CHAR  c);

CPU_BOOLEAN  ASCII_IsBlank (CPU_CHAR  c);

CPU_BOOLEAN  ASCII_IsCtrl  (CPU_CHAR  c);

CPU_BOOLEAN  ASCII_IsDigit (CPU_CHAR  c);

CPU_BOOLEAN  ASCII_IsGraph (CPU_CHAR  c);

CPU_BOOLEAN  ASCII_IsLower (CPU_CHAR  c);

CPU_BOOLEAN  ASCII_IsPrint (CPU_CHAR  c);

CPU_BOOLEAN  ASCII_IsPunct (CPU_CHAR  c);

CPU_BOOLEAN  ASCII_IsSpace (CPU_CHAR  c);

CPU_BOOLEAN  ASCII_IsUpper (CPU_CHAR  c);

CPU_BOOLEAN  ASCII_IsXDigit(CPU_CHAR  c);

CPU_CHAR     ASCII_ToLower (CPU_CHAR  c);

CPU_CHAR     ASCII_ToUpper (CPU_CHAR  c);

CPU_BOOLEAN  ASCII_Cmp     (CPU_CHAR  c1,
                            CPU_CHAR  c2);

/*$PAGE*/
/*
*********************************************************************************************************
*                                        CONFIGURATION ERRORS
*********************************************************************************************************
*/


/*
*********************************************************************************************************
*                                               MODULE END
*********************************************************************************************************
*/

#endif                                                          /* End of lib ascii module include.                     */

⌨️ 快捷键说明

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