📄 strlib.h
字号:
#ifndef STRLIB_H#define STRLIB_H/* * System header. */#include <stdio.h>#include <stdlib.h>#include <string.h>#include <varargs.h>#include <time.h>/* * Micron define. */#ifndef TRUE #define TRUE 1 #define FALSE 0#endif#define DATA_LENGTH 512/*** 其 它 定 义 ***/#define MONTH_STR "JanFebMarAprMayJunJulAugSepOctNovDec"#define WEEK_STR "SunMonTueWedThuFriSat"#define XQMB "日一二三四五六"#define YFMB "一二三四五六七八九十十一十二"#define NFMB "9091929394959697989900"#define DXSZ "零壹贰叁肆伍陆柒捌玖拾"#define DXJW "分角元拾佰仟万拾佰仟亿拾佰仟万拾佰仟亿"#ifndef NONE#define NONE 0x00#endif#define YMD 0x01 /* 991025 */#define YYMD 0x02 /* 19991025 */#define MDY 0x04 /* 102599 */#define MDYY 0x08 /* 10251999 */#define SYM_SLASH 0x10 /* 1999/10/25 */#define SYM_HYPHEN 0x20 /* 1999-10-25 */#define SYM_DOT 0x40 /* 1999.10.25 */#define SYM_COLON 0x80 /* 23:50:35 */#define SYM_CHINESE_UPPER 0x0100 /* 一九九九年十月二十五日 */#define SYM_CHINESE_LOWER 0x0200 /* 23时50分35秒 or 1999年10月25日 */#define SYM_CHINESE 0x0200 /* 23时50分35秒 or 1999年10月25日 */#define SYM_YYMD 0x0400 /* 'yymmdd' to 'yyyymmdd' *//* * Extern function decleare. *//****************************************************************************** * <第一章> 字符串操作函数. * ******************************************************************************//*----------------------------------------------------------------------------* * Function: SPACE(生成空格). * Argument: * int num - 空格数目. * Return : * char * - 指针. * NULL - 长度小于0或太大. *----------------------------------------------------------------------------*/extern char *space(int num);/*----------------------------------------------------------------------------* * FUNCTION: 删除字符串右边空格和TAB键(str的值要变). * Argument: * char *str - 字符串. * Return : * 指针. *----------------------------------------------------------------------------*/extern char *rtrim(char *str);/*----------------------------------------------------------------------------* * FUNCTION: 删除字符串左边空格和TAB键(str的值要变). * Argument: * char *str - 字符串. * Return : * 指针. *----------------------------------------------------------------------------*/extern char *ltrim(char *str);/*----------------------------------------------------------------------------* * FUNCTION: 删除字符串两边空格和TAB键(str的值要变). * Argument: * char *str - 字符串. * Return : * 指针. *----------------------------------------------------------------------------*/extern char *trim(char *str);/*----------------------------------------------------------------------------* * Function: 由分隔符分开的子串总数目. * Argument: * char *str - 串. * char ch - 分隔字符. * Return : * > 0 总数目(1...n). * = 0 没有匹配项. *----------------------------------------------------------------------------*/extern int get_item_num(char *str,char ch);/*----------------------------------------------------------------------------* * Function: 读取分隔符分开的第几个子串. * Argument: * char *str - 源串. * char ch - 分隔字符. * int num - 第几个(0..n). * Return : * 结果子串,没有匹配项,则返回其本身. * NULL, 超过子串数目. *----------------------------------------------------------------------------*/extern char *get_item(char *str,char ch,int num);/*----------------------------------------------------------------------------* * Function: 检查字串中,整数部分的有效位数. * Argument: * char *numbuf - 字串. * Return : * >= 0 整数部分的位数. * < 0 Error. *----------------------------------------------------------------------------*/extern int check_intlen(char *numbuf);/*----------------------------------------------------------------------------* * Function: 由分隔符分开的子串最大长度. * Argument: * char *str - 串. * char ch - 分隔字符. * Return : * >= 0 最大长度. * < 0 不存在. *----------------------------------------------------------------------------*/extern int get_item_maxlen(char *str,char ch);/*----------------------------------------------------------------------------* * Function: 检查字符是否在字符串中出现,并且返回序号(0...N). * Argument: * char *str - 字符串. * char c - 字符. * Return : * >= 0 if in. * = -1 if not in. *----------------------------------------------------------------------------*/extern int is_in(char *str,char ch);/*----------------------------------------------------------------------------* * FUNCTION: 求字符在字符串中出现的次数(1...N). * Argument: * char *str - 字符串. * char c - 字符. * Return : * > 0 if in. * = 0 if not in. *----------------------------------------------------------------------------*/extern int count_chnum(char *str,char ch);/*----------------------------------------------------------------------------* * Function: 检查字符串 substr 是否为字符串 str 的子串,并且返回序号. * Argument: * char *substr - 子串. * char *str - 字符串. * Return : * 0...n index on str,if found. * -1 if not found. *----------------------------------------------------------------------------*/extern int index_on_str(char *substr,char *str);/*----------------------------------------------------------------------------* * Function: <字串>在<字串表>中序号(0...N). * Argument: * char *str - 字符串. * char **strtab - 字符串表. * Return : * 0...n index on strtab,if found. * -1 if not found. * Notes : 字串表 以 '\0' 串结束. *----------------------------------------------------------------------------*/extern int index_on_strtab(char *str,char **strtab);/*----------------------------------------------------------------------------* * Function: Ring Bell. * Argument: * int num - Bell numbers. * Return : None. *----------------------------------------------------------------------------*/extern void beeps(int num);/*----------------------------------------------------------------------------* * FUNCTION: 连接若干子串(最后一个串之后,以NULL结束) * Argument: * char *strbuf - 第一个字符串,连接后的串返回到该串中. * 多个字串,以NULL结束. * Return : * None. *----------------------------------------------------------------------------*/extern int strcatm();/*----------------------------------------------------------------------------* * FUNCTION: 截取子字符串(string不变). * Argument: * char *string - 字符串. * int start - 开始位置. * int number - 截取长度. * Return : * char * - 子字符串指针. *----------------------------------------------------------------------------*/extern char *substr(char *string,int start,int number);/*----------------------------------------------------------------------------* * FUNCTION: 反转字串(string要改变), 如:"1234" -> "4321". * Argument: * char *string - 字符串. * Return : * char * - 字符串指针. *----------------------------------------------------------------------------*/extern char *strrev(char *string);/*----------------------------------------------------------------------------* * FUNCTION: 把string2插入string1中. * Argument: * char *string1 - 字符串1. * int start - 开始位置. * int number - 长度. * char *string2 - 字符串2. * Return : * char * - 字符串指针. *----------------------------------------------------------------------------*/extern char *ins_str(char *string1,int start,int number,char *string2);/*----------------------------------------------------------------------------* * FUNCTION: 把string中的字符c1替换c2. * Argument: * char *string - 字符串. * char *c1 - 字符1. * char *c2 - 字符2. * Return : * char * - 字符串指针. *----------------------------------------------------------------------------*/extern char *strcce(char *string,char c1,char c2);/*----------------------------------------------------------------------------* * FUNCTION: 字符删除. * Argument: * char *string - 字符串. * char *c - 删除的字符. * Return : * char * - 字符串指针. *----------------------------------------------------------------------------*/extern char *strcd(char *string,char c);/*----------------------------------------------------------------------------* * FUNCTION: 把字串(可以转换的字符)转成大写. * Argument: * char *string - 字符串. * Return : * char * - 字符串指针. *----------------------------------------------------------------------------*/extern char *str_toupper(char *string);/*----------------------------------------------------------------------------* * FUNCTION: 把字串(可以转换的字符)转成小写 * Argument: * char *string - 字符串. * Return : * char * - 字符串指针. *----------------------------------------------------------------------------*/extern char *str_tolower(char *string);/*----------------------------------------------------------------------------* * FUNCTION: 把可以转换的字符转成大写. * Argument: * char *ch - 字符. * Return : * char - 字符. * Comment : 系统的 islower(ch) 函数在 ch>0xe0 时也返回 2 , * 导致 toupper(ch) 函数错误. *----------------------------------------------------------------------------*/extern int my_toupper(char ch);/*----------------------------------------------------------------------------* * FUNCTION: 把可以转换的字符转成小写. * Argument: * char *ch - 字符. * Return : * char - 字符. * Comment : 系统的 islower(ch) 函数在 ch>0xe0 时也返回 2 , * 导致 tolower(ch) 函数错误. *----------------------------------------------------------------------------*/extern int my_tolower(char ch);/****************************************************************************** * <第二章> 字符串转换函数. * ******************************************************************************//*----------------------------------------------------------------------------* * FUNCTION: 浮点数转成字串. * Argument: * double value - 浮点数. * char *string - 字符串. * int dec - 小数点位置. * int width - 浮点数宽度. * Return : * char * - 字符串指针. *----------------------------------------------------------------------------*/extern char *ftoa(double value,char *string,int dec,int width);/*----------------------------------------------------------------------------*
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -