📄 str.lst
字号:
C51 COMPILER V7.20 STR 11/03/2007 17:08:49 PAGE 1
C51 COMPILER V7.20, COMPILATION OF MODULE STR
OBJECT MODULE PLACED IN .\output\str.obj
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE src\lib\str.c LARGE ORDER INCDIR(.\src\include) DEBUG OBJECTEXTEND PRINT(.\
-output\str.lst) OBJECT(.\output\str.obj)
line level source
1 //&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&字符串函数库&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
2 //*文件名称:str.c
3
4 //*文件作用:字符串函数库
5
6 //*文件作者:翟 鹏
7
8 //*创建日期:2004年5月
9 //&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
10
11
12
13 #include <include.h>
14
15
16
17 //********************************************************************************************************
-***************
18 //函数作用:判断目的串是否等于给定的串
19 //参数说明:dest---目的串 src---给定的串
20 //注意事项:
21 //返回说明:如果相等返回1
22 //********************************************************************************************************
-***************
23 uchar str_compare(uchar *dest, uchar *src)
24 {
25 1 while(*src)if((*dest++)!=(*src++))return 0;
26 1 if(*dest)return 0;//如果目的串还没有完 说明不相等
27 1 return 1;
28 1 }
29
30 //********************************************************************************************************
-***************
31 //函数作用:判断目的串是否包含给定的串
32 //参数说明:dest---目的串 src---给定的串
33 //注意事项:
34 //返回说明:如果相等返回1
35 //********************************************************************************************************
-***************
36 uchar str_comprise(uchar *dest, uchar *src)
37 {
38 1 while(*src)if((*dest++)!=(*src++))return 0;
39 1 return 1;
40 1 }
41
42 //********************************************************************************************************
-***************
43 //函数作用:把给定的串拷贝到目的串中
44 //参数说明:dest---目的串 src---给定的串
45 //注意事项:
46 //返回说明:返回目的串
47 //********************************************************************************************************
-***************
48 void str_copy(uchar *dest, uchar *src)
C51 COMPILER V7.20 STR 11/03/2007 17:08:49 PAGE 2
49 {
50 1 while((*dest++ = *src++)!=0);
51 1 }
52
53 //********************************************************************************************************
-***************
54 //函数作用:把给定的串添加到目的串末尾
55 //参数说明:dest---目的串 src---给定的串
56 //注意事项:
57 //返回说明:返回目的串
58 //********************************************************************************************************
-***************
59 void str_cat(uchar *dest, uchar *src)
60 {
61 1 while(*dest)dest++;
62 1 while((*dest++ = *src++)!=0);
63 1 }
64
65 //********************************************************************************************************
-***************
66 //函数作用:把给定的串拷贝到目的串中 直到发现给定字符为止 并添加结束符
67 //参数说明:dest---目的串 src---给定的串
68 //注意事项:
69 //返回说明:返回目的串
70 //********************************************************************************************************
-***************
71 void str_char_copy(uchar *dest, uchar *src, uchar ch)
72 {
73 1 while((*dest++ = *src++)!=ch);
74 1 dest--;
75 1 *dest=0;
76 1 }
77
78 //********************************************************************************************************
-***************
79 //函数作用:把给定的串拷贝到目的unicode串中
80 //参数说明:dest---目的串 src---给定的串
81 //注意事项:
82 //返回说明:返回目的串
83 //********************************************************************************************************
-***************
84 void str_unicode_copy(uint *dest, uchar *src)
85 {
86 1 while((*dest++ = *src++)!=0);
87 1 }
88
89 //********************************************************************************************************
-***************
90 //函数作用:计算字符串长度
91 //参数说明:str---给定的串
92 //注意事项:
93 //返回说明:字节型长度数值
94 //********************************************************************************************************
-***************
95 uint str_length(uchar *str)
96 {
97 1 uint i=0;
98 1
99 1 while(str[i])i++;
100 1 return i;
101 1 }
102
C51 COMPILER V7.20 STR 11/03/2007 17:08:49 PAGE 3
103 //********************************************************************************************************
-***************
104 //函数作用:内存拷贝
105 //参数说明:dest---目的串 src---给定的串 n---拷贝长度
106 //注意事项:
107 //返回说明:如果相等返回1
108 //********************************************************************************************************
-***************
109 void mem_copy(uchar *dest, uchar *src, uint n)
110 {
111 1 while(n--)*dest++=*src++;
112 1 }
113
114 //********************************************************************************************************
-***************
115 //*函数作用:把整数转化成十进制串
116 //*参数说明:dec---转化成的十进制串 n--要转化的整数
117 //*注意事项:
118 //*返回说明:无
119 //********************************************************************************************************
-***************
120 void int_to_dec(uchar *dec, uint n)
121 {
122 1 uchar i=0;
123 1 uchar result;
124 1 uint divisor, remainder;
125 1
126 1 remainder=n;
127 1 for(divisor=10000;divisor>0;divisor/=10)
128 1 {
129 2 result=remainder/divisor;
130 2 remainder%=divisor;
131 2 if(result!=0 || divisor==1 || i>0)
132 2 dec[i++]=result+0x30;
133 2 }
134 1 dec[i]=0;
135 1 }
136
137 void long_to_dec(uchar *dec, ulong n)
138 {
139 1 uchar i=0;
140 1 uchar result;
141 1 ulong divisor, remainder;
142 1
143 1 remainder=n;
144 1 for(divisor=1000000000;divisor>0;divisor/=10)
145 1 {
146 2 result=remainder/divisor;
147 2 remainder%=divisor;
148 2 if(result!=0 || divisor==1 || i>0)
149 2 dec[i++]=result+0x30;
150 2 }
151 1 dec[i]=0;
152 1 }
153
154 //********************************************************************************************************
-***************
155 //函数作用:把hex字符串--转化为整数
156 //参数说明:hex---给定的串
157 //注意事项:
158 //返回说明:返回是否成功
159 //********************************************************************************************************
C51 COMPILER V7.20 STR 11/03/2007 17:08:49 PAGE 4
-***************
160 static char xdigitvalue(uchar isdigit)//判断是否是十六进制数字
161 {
162 1 if(isdigit>='0' && isdigit<='9')return isdigit-'0';
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -