宽字符处理函数函数与普通函数对照表

1.   宽字符处理函数函数与普通函数对照表    

2.        

3.     

4.   字符分类:     宽字符函数普通C函数描述    

5.   iswalnum()     isalnum() 测试字符是否为数字或字母    

6.   iswalpha()     isalpha() 测试字符是否是字母    

7.   iswcntrl()     iscntrl() 测试字符是否是控制符    

8.   iswdigit()     isdigit() 测试字符是否为数字    

9.   iswgraph()     isgraph() 测试字符是否是可见字符    

10. iswlower()     islower() 测试字符是否是小写字符    

11. iswprint()     isprint() 测试字符是否是可打印字符    

12. iswpunct()     ispunct() 测试字符是否是标点符号    

13. iswspace()     isspace() 测试字符是否是空白符号    

14. iswupper()     isupper() 测试字符是否是大写字符    

15. iswxdigit()     isxdigit()测试字符是否是十六进制的数字    

16.   

17.   

18. 大小写转换:        

19. 宽字符函数    普通C函数描述    

20. towlower()     tolower() 把字符转换为小写    

21. towupper()     toupper() 把字符转换为大写    

22.   

23.   

24. 字符比较:     宽字符函数普通C函数描述    

25. wcscoll()     strcoll() 比较字符串    

26.   

27.   

28. 日期和时间转换:    

29. 宽字符函数描述    

30. strftime()     根据指定的字符串格式和locale设置格式化日期和时间    

31. wcsftime()     根据指定的字符串格式和locale设置格式化日期和时间, 并返回宽字符串    

32. strptime()     根据指定格式把字符串转换为时间值, strftime的反过程    

33.   

34.   

35. 打印和扫描字符串:    

36. 宽字符函数描述    

37. fprintf()/fwprintf()     使用vararg参量的格式化输出    

38. fscanf()/fwscanf()         格式化读入    

39. printf()             使用vararg参量的格式化输出到标准输出    

40. scanf()             从标准输入的格式化读入    

41. sprintf()/swprintf()     根据vararg参量表格式化成字符串    

42. sscanf()             以字符串作格式化读入    

43. vfprintf()/vfwprintf()     使用stdarg参量表格式化输出到文件    

44. vprintf()             使用stdarg参量表格式化输出到标准输出    

45. vsprintf()/vswprintf()     格式化stdarg参量表并写到字符串    

46.   

47.   

48. 数字转换:    

49. 宽字符函数    普通C函数描述    

50. wcstod()     strtod()  把宽字符的初始部分转换为双精度浮点数    

51. wcstol()     strtol()  把宽字符的初始部分转换为长整数    

52. wcstoul()     strtoul() 把宽字符的初始部分转换为无符号长整数    

53.   

54.   

55. 多字节字符和宽字符转换及操作:    

56. 宽字符函数描述    

57. mblen()         根据locale的设置确定字符的字节数    

58. mbstowcs()         把多字节字符串转换为宽字符串    

59. mbtowc()/btowc()    把多字节字符转换为宽字符    

60. wcstombs()         把宽字符串转换为多字节字符串    

61. wctomb()/wctob()     把宽字符转换为多字节字符    

62.   

63.   

64. 输入和输出:    

65. 宽字符函数    普通C函数描述    

66. fgetwc()     fgetc()     从流中读入一个字符并转换为宽字符    

67. fgetws()     fgets()     从流中读入一个字符串并转换为宽字符串    

68. fputwc()     fputc()     把宽字符转换为多字节字符并且输出到标准输出    

69. fputws()     fputs()     把宽字符串转换为多字节字符并且输出到标准输出串    

70. getwc()     getc()     从标准输入中读取字符, 并且转换为宽字符    

71. getwchar()     getchar()     从标准输入中读取字符, 并且转换为宽字符    

72. None         gets()     使用fgetws()    

73. putwc()     putc()     把宽字符转换成多字节字符并且写到标准输出    

74. putwchar()     putchar()     把宽字符转换成多字节字符并且写到标准输出    

75. None         puts()     使用fputws()    

76. ungetwc()     ungetc()     把一个宽字符放回到输入流中    

77.   

78.   

79. 字符串操作:    

80. 宽字符函数        普通C函数描述    

81. wcscat()         strcat()     把一个字符串接到另一个字符串的尾部    

82. wcsncat()         strncat()     类似于wcscat(), 而且指定粘接字符串的粘接长度.    

83. wcschr()         strchr()     查找子字符串的第一个位置    

84. wcsrchr()         strrchr()     从尾部开始查找子字符串出现的第一个位置    

85. wcspbrk()         strpbrk()     从一字符字符串中查找另一字符串中任何一个字符第一次出现的位置    

86. wcswcs()/wcsstr()     strchr()     在一字符串中查找另一字符串第一次出现的位置    

87. wcscspn()         strcspn()     返回不包含第二个字符串的的初始数目    

88. wcsspn()         strspn()     返回包含第二个字符串的初始数目    

89. wcscpy()         strcpy()     拷贝字符串    

90. wcsncpy()         strncpy()     类似于wcscpy(), 同时指定拷贝的数目    

91. wcscmp()         strcmp()     比较两个宽字符串    

92. wcsncmp()         strncmp()     类似于wcscmp(), 还要指定比较字符字符串的数目    

93. wcslen()         strlen()     获得宽字符串的数目    

94. wcstok()         strtok()     根据标示符把宽字符串分解成一系列字符串    

95. wcswidth()         None         获得宽字符串的宽度    

96. wcwidth()         None         获得宽字符的宽度    

97.   

98.   

99. 另外还有对应于memory操作的 wmemcpy(), wmemchr(), wmemcmp(), wmemmove(), wmemset().   

100.  另:   

101.    

102.    

103.  函数名: stpcpy    

104.    拷贝一个字符串到另一个    

105.    : char *stpcpy(char *destin, char *source);    

106.  程序例:    

107.    

108.  #include <stdio.h>    

109.  #include <string.h>    

110.    

111.  int main(void)    

112.  {    

113.     char string[10];    

114.     char *str1 = "abcdefghi";    

115.    

116.     stpcpy(string, str1);    

117.     printf("%s/n", string);    

118.     return 0;    

119.  }    

120.       

121.       

122.       

123.    

124.  函数名: strcat    

125.    字符串拼接函数    

126.    : char *strcat(char *destin, char *source);    

127.  程序例:    

128.    

129.  #include <string.h>    

130.  #include <stdio.h>    

131.    

132.  int main(void)    

133.  {    

134.     char destination[25];    

135.     char *blank = " ", *c = "C++", *Borland = "Borland";    

136.    

137.     strcpy(destination, Borland);    

138.     strcat(destination, blank);    

139.     strcat(destination, c);    

140.    

141.     printf("%s/n", destination);    

142.     return 0;    

143.  }    

144.       

145.       

146.       

147.    

148.  函数名: strchr    

149.    在一个串中查找给定字符的第一个匹配之处/    

150.    : char *strchr(char *str, char c);    

151.  程序例:    

152.    

153.  #include <string.h>    

154.  #include <stdio.h>    

155.    

156.  int main(void)    

157.   {    

158.      char string[15];    

159.      char *ptr, c = 'r';    

160.    

161.      strcpy(string, "This is a string");    

162.      ptr = strchr(string, c);    

163.      if (ptr)    

164.         printf("The character %c is at position: %d/n", c, ptr-string);    

165.      else    

166.         printf("The character was not found/n");    

167.      return 0;    

168.   }    

169.       

170.       

171.       

172.    

173.  函数名: strcmp    

174.    串比较    

175.    : int strcmp(char *str1, char *str2);    

176.  Asic码,str1>str2,返回值 > 0;两串相等,返回0  

177.  程序例:    

178.    

179.  #include <string.h>    

180.  #include <stdio.h>    

181.    

182.  int main(void)    

183.   {    

184.      char *buf1 = "aaa", *buf2 = "bbb", *buf3 = "ccc";    

185.      int ptr;    

186.    

187.      ptr = strcmp(buf2, buf1);    

188.      if (ptr > 0)    

189.         printf("buffer 2 is greater than buffer 1/n");    

190.      else    

191.         printf("buffer 2 is less than buffer 1/n");    

192.    

193.      ptr = strcmp(buf2, buf3);    

194.      if (ptr > 0)    

195.         printf("buffer 2 is greater than buffer 3/n");    

196.      else    

197.         printf("buffer 2 is less than buffer 3/n");    

198.    

199.      return 0;    

200.   }    

201.       

202.       

203.       

204.    

205.  函数名: strncmpi    

206.    将一个串中的一部分与另一个串比较不管大小写    

207.    : int strncmpi(char *str1, char *str2, unsigned maxlen);    

208.  程序例:    

209.    

210.  #include <string.h>    

211.  #include <stdio.h>    

212.    

213.  int main(void)    

214.  {    

215.     char *buf1 = "BBB", *buf2 = "bbb";    

216.     int ptr;    

217.    

218.     ptr = strcmpi(buf2, buf1);    

219.    

220.     if (ptr > 0)    

221.        printf("buffer 2 is greater than buffer 1/n");    

222.    

223.     if (ptr < 0)    

224.        printf("buffer 2 is less than buffer 1/n");    

225.    

226.     if (ptr == 0)    

227.        printf("buffer 2 equals buffer 1/n");    

228.    

229.     return 0;    

230.  }    

231.       

232.       

233.       

234.    

235.  函数名: strcpy    

236.    串拷贝    

237.    : char *strcpy(char *str1, char *str2);    

238.  程序例:    

239.    

240.  #include <stdio.h>    

241.  #include <string.h>    

242.    

243.  int main(void)    

244.   {    

245.      char string[10];    

246.      char *str1 = "abcdefghi";    

247.    

248.      strcpy(string, str1);    

249.      printf("%s/n", string);    

250.      return 0;    

251.   }    

252.       

253.       

254.       

255.    

256.  函数名: strcspn    

257.    在串中查找第一个给定字符集内容的段    

258.    : int strcspn(char *str1, char *str2);    

259.  程序例:    

260.    

261.  #include <stdio.h>    

262.  #include <string.h>    

263.  #include <alloc.h>    

264.    

265.  int main(void)    

266.   {    

267.      char *string1 = "1234567890";    

268.      char *string2 = "747DC8";    

269.      int length;    

270.    

271.      length = strcspn(string1, string2);    

272.      printf("Character where strings intersect is at position %d/n", length);    

273.    

274.      return 0;    

275.   }    

276.       

277.       

278.       

279.    

280.  函数名: strdup    

281.    将串拷贝到新建的位置处    

282.    : char *strdup(char *str);    

283.  程序例:    

284.    

285.  #include <stdio.h>    

286.  #include <string.h>    

287.  #include <alloc.h>    

288.    

289.  int main(void)    

290.   {    

291.      char *dup_str, *string = "abcde";    

292.    

293.      dup_str = strdup(string);    

294.      printf("%s/n", dup_str);    

295.      free(dup_str);    

296.    

297.      return 0;    

298.   }    

299.       

300.       

301.       

302.    

303.  函数名: stricmp    

304.    以大小写不敏感方式比较两个串    

305.    : int stricmp(char *str1, char *str2);    

306.  程序例:    

307.    

308.  #include <string.h>    

309.  #include <stdio.h>    

310.    

311.  int main(void)    

312.  {    

313.     char *buf1 = "BBB", *buf2 = "bbb";    

314.     int ptr;    

315.    

316.     ptr = stricmp(buf2, buf1);    

317.    

318.     if (ptr > 0)    

319.        printf("buffer 2 is greater than buffer 1/n");    

320.    

321.     if (ptr < 0)    

322.        printf("buffer 2 is less than buffer 1/n");    

323.    

324.     if (ptr == 0)    

325.        printf("buffer 2 equals buffer 1/n");    

326.    

327.     return 0;    

328.  }    

329.       

330.       

331.    

332.  函数名: strerror    

333.    返回指向错误信息字符串的指针    

334.    : char *strerror(int errnum);    

335.  程序例:    

336.    

337.  #include <stdio.h>    

338.  #include <errno.h>    

339.    

340.  int main(void)    

341.  {    

342.     char *buffer;    

343.     buffer = strerror(errno);    

344.     printf("Error: %s/n", buffer);    

345.     return 0;    

346.  }    

347.       

348.       

349.       

350.    

351.  函数名: strcmpi    

352.    将一个串与另一个比较不管大小写    

353.    : int strcmpi(char *str1, char *str2);    

354.  程序例:    

355.    

356.  #include <string.h>    

357.  #include <stdio.h>    

358.    

359.  int main(void)    

360.  {    

361.     char *buf1 = "BBB", *buf2 = "bbb";    

362.     int ptr;    

363.    

364.     ptr = strcmpi(buf2, buf1);    

365.    

366.     if (ptr > 0)    

367.        printf("buffer 2 is greater than buffer 1/n");    

368.    

369.     if (ptr < 0)    

370.        printf("buffer 2 is less than buffer 1/n");    

371.    

372.     if (ptr == 0)    

373.        printf("buffer 2 equals buffer 1/n");    

374.    

375.     return 0;    

376.  }    

377.       

378.       

379.       

380.    

381.  函数名: strncmp    

382.    串比较    

383.    : int strncmp(char *str1, char *str2, int maxlen);    

384.  程序例:    

385.    

386.  #include <string.h>    

387.  #include <stdio.h>    

388.    

389.  int  main(void)    

390.    

391.  {    

392.     char *buf1 = "aaabbb", *buf2 = "bbbccc", *buf3 = "ccc";    

393.     int ptr;    

394.    

395.     ptr = strncmp(buf2,buf1,3);    

396.     if (ptr > 0)    

397.        printf("buffer 2 is greater than buffer 1/n");    

398.     else    

399.        printf("buffer 2 is less than buffer 1/n");    

400.    

401.     ptr = strncmp(buf2,buf3,3);    

402.     if (ptr > 0)    

403.        printf("buffer 2 is greater than buffer 3/n");    

404.     else    

405.        printf("buffer 2 is less than buffer 3/n");    

406.    

407.     return(0);    

408.  }    

409.       

410.       

411.    

412.  函数名: strncmpi    

413.    把串中的一部分与另一串中的一部分比较不管大小写    

414.    : int strncmpi(char *str1, char *str2);    

415.  程序例:    

416.    

417.  #include <string.h>    

418.  #include <stdio.h>    

419.    

420.  int main(void)    

421.  {    

422.     char *buf1 = "BBBccc", *buf2 = "bbbccc";    

423.     int ptr;    

424.    

425.     ptr = strncmpi(buf2,buf1,3);    

426.    

427.     if (ptr > 0)    

428.        printf("buffer 2 is greater than buffer 1/n");    

429.    

430.     if (ptr < 0)    

431.        printf("buffer 2 is less than buffer 1/n");    

432.    

433.     if (ptr == 0)    

434.        printf("buffer 2 equals buffer 1/n");    

435.    

436.     return 0;    

437.  }    

438.       

439.       

440.    

441.  函数名: strncpy    

442.    串拷贝    

443.    : char *strncpy(char *destin, char *source, int maxlen);    

444.  程序例:    

445.    

446.  #include <stdio.h>    

447.  #include <string.h>    

448.    

449.  int main(void)    

450.  {    

451.     char string[10];    

452.     char *str1 = "abcdefghi";    

453.    

454.     strncpy(string, str1, 3);    

455.     string[3] = '/0';    

456.     printf("%s/n", string);    

457.     return 0;    

458.  }    

459.       

460.       

461.    

462.  函数名: strnicmp    

463.    不注重大小写地比较两个串    

464.    : int strnicmp(char *str1, char *str2, unsigned maxlen);    

465.  程序例:    

466.    

467.  #include <string.h>    

468.  #include <stdio.h>    

469.    

470.  int main(void)    

471.  {    

472.     char *buf1 = "BBBccc", *buf2 = "bbbccc";    

473.     int ptr;    

474.    

475.     ptr = strnicmp(buf2, buf1, 3);    

476.    

477.     if (ptr > 0)    

478.        printf("buffer 2 is greater than buffer 1/n");    

479.    

480.     if (ptr < 0)    

481.        printf("buffer 2 is less than buffer 1/n");    

482.    

483.     if (ptr == 0)    

484.        printf("buffer 2 equals buffer 1/n");    

485.    

486.     return 0;    

487.  }    

488.       

489.       

490.       

491.    

492.  函数名: strnset    

493.    将一个串中的所有字符都设为指定字符    

494.    : char *strnset(char *str, char ch, unsigned n);    

495.  程序例:    

496.    

497.  #include <stdio.h>    

498.  #include <string.h>    

499.    

500.  int main(void)    

501.  {    

502.     char *string = "abcdefghijklmnopqrstuvwxyz";    

503.     char letter = 'x';    

504.    

505.     printf("string before strnset: %s/n", string);    

506.     strnset(string, letter, 13);    

507.     printf("string after  strnset: %s/n", string);    

508.    

509.     return 0;    

510.  }    

511.       

512.       

513.    

514.  函数名: strpbrk    

515.    在串中查找给定字符集中的字符    

516.    : char *strpbrk(char *str1, char *str2);    

517.  程序例:    

518.    

519.  #include <stdio.h>    

520.  #include <string.h>    

521.    

522.  int main(void)    

523.  {    

524.     char *string1 = "abcdefghijklmnopqrstuvwxyz";    

525.     char *string2 = "onm";    

526.     char *ptr;    

527.    

528.     ptr = strpbrk(string1, string2);    

529.    

530.     if (ptr)    

531.        printf("strpbrk found first character: %c/n", *ptr);    

532.     else    

533.        printf("strpbrk didn't find character in set/n");    

534.    

535.     return 0;    

536.  }    

537.       

538.       

539.       

540.    

541.  函数名: strrchr    

542.    在串中查找指定字符的最后一个出现    

543.    : char *strrchr(char *str, char c);    

544.  程序例:    

545.    

546.  #include <string.h>    

547.  #include <stdio.h>    

548.    

549.  int main(void)    

550.  {    

551.     char string[15];    

552.     char *ptr, c = 'r';    

553.    

554.     strcpy(string, "This is a string");    

555.     ptr = strrchr(string, c);    

556.     if (ptr)    

557.        printf("The character %c is at position: %d/n", c, ptr-string);    

558.     else    

559.        printf("The character was not found/n");    

560.     return 0;    

561.  }    

562.       

563.       

564.       

565.    

566.  函数名: strrev    

567.    串倒转    

568.    : char *strrev(char *str);    

569.  程序例:    

570.    

571.  #include <string.h>    

572.  #include <stdio.h>    

573.    

574.  int main(void)    

575.  {    

576.     char *forward = "string";    

577.    

578.     printf("Before strrev(): %s/n", forward);    

579.     strrev(forward);    

580.     printf("After strrev():  %s/n", forward);    

581.     return 0;    

582.  }    

583.       

584.    

585.  函数名: strset    

586.    将一个串中的所有字符都设为指定字符    

587.    : char *strset(char *str, char c);    

588.  程序例:    

589.    

590.  #include <stdio.h>    

591.  #include <string.h>    

592.    

593.  int main(void)    

594.  {    

595.     char string[10] = "123456789";    

596.     char symbol = 'c';    

597.    

598.     printf("Before strset(): %s/n", string);    

599.     strset(string, symbol);    

600.     printf("After strset():  %s/n", string);    

601.     return 0;    

602.  }    

603.       

604.       

605.       

606.    

607.  函数名: strspn    

608.    在串中查找指定字符集的子集的第一次出现    

609.    : int strspn(char *str1, char *str2);    

610.  程序例:    

611.    

612.  #include <stdio.h>    

613.  #include <string.h>    

614.  #include <alloc.h>    

615.    

616.  int main(void)    

617.  {    

618.     char *string1 = "1234567890";    

619.     char *string2 = "123DC8";    

620.     int length;    

621.    

622.     length = strspn(string1, string2);    

623.     printf("Character where strings differ is at position %d/n", length);    

624.     return 0;    

625.  }    

626.       

627.       

628.    

629.  函数名: strstr    

630.    在串中查找指定字符串的第一次出现    

631.    : char *strstr(char *str1, char *str2);    

632.  程序例:    

633.    

634.  #include <stdio.h>    

635.  #include <string.h>    

636.    

637.  int main(void)    

638.  {    

639.     char *str1 = "Borland International", *str2 = "nation", *ptr;    

640.    

641.     ptr = strstr(str1, str2);    

642.     printf("The substring is: %s/n", ptr);    

643.     return 0;    

644.  }    

645.       

646.       

647.    

648.  函数名: strtod    

649.    将字符串转换为double型值    

650.    : double strtod(char *str, char **endptr);    

651.  程序例:    

652.    

653.  #include <stdio.h>    

654.  #include <stdlib.h>    

655.    

656.  int main(void)    

657.  {    

658.     char input[80], *endptr;    

659.     double value;    

660.    

661.     printf("Enter a floating point number:");    

662.     gets(input);    

663.     value = strtod(input, &endptr);    

664.     printf("The string is %s the number is %lf/n", input, value);    

665.     return 0;    

666.  }    

667.       

668.       

669.       

670.    

671.  函数名: strtok    

672.    查找由在第二个串中指定的分界符分隔开的单词    

673.    : char *strtok(char *str1, char *str2);    

674.  程序例:    

675.    

676.  #include <string.h>    

677.  #include <stdio.h>    

678.    

679.  int main(void)    

680.  {    

681.     char input[16] = "abc,d";    

682.     char *p;    

683.    

684.     /* strtok places a NULL terminator   

685.     in front of the token, if found */    

686.     p = strtok(input, ",");    

687.     if (p)   printf("%s/n", p);    

688.    

689.     /* A second call to strtok using a NULL   

690.     as the first parameter returns a pointer   

691.     to the character following the token  */    

692.     p = strtok(NULL, ",");    

693.     if (p)   printf("%s/n", p);    

694.     return 0;    

695.  }    

696.       

697.       

698.       

699.    

700.  函数名: strtol    

701.    将串转换为长整数    

702.    : long strtol(char *str, char **endptr, int base);    

703.  程序例:    

704.    

705.  #include <stdlib.h>    

706.  #include <stdio.h>    

707.    

708.  int main(void)    

709.  {    

710.     char *string = "87654321", *endptr;    

711.     long lnumber;    

712.    

713.     /* strtol converts string to long integer  */    

714.     lnumber = strtol(string, &endptr, 10);    

715.     printf("string = %s  long = %ld/n", string, lnumber);    

716.    

717.     return 0;    

718.  }    

719.       

720.    

721.  函数名: strupr    

722.    将串中的小写字母转换为大写字母    

723.    : char *strupr(char *str);    

724.  程序例:    

725.    

726.  #include <stdio.h>    

727.  #include <string.h>    

728.    

729.  int main(void)    

730.  {    

731.     char *string = "abcdefghijklmnopqrstuvwxyz", *ptr;    

732.    

733.     /* converts string to upper case characters */    

734.     ptr = strupr(string);    

735.     printf("%s/n", ptr);    

736.     return 0;    

737.  }    

738.       

739.       

740.       

741.    

742.  函数名: swab    

743.    交换字节    

744.    : void swab (char *from, char *to, int nbytes);    

745.  程序例:    

746.    

747.  #include <stdlib.h>    

748.  #include <stdio.h>    

749.  #include <string.h>    

750.    

751.  char source[15] = "rFna koBlrna d";    

752.  char target[15];    

753.    

754.  int main(void)    

755.  {    

756.     swab(source, target, strlen(source));    

757.     printf("This is target: %s/n", target);    

758.     return 0;    

759.  }   

760.      

761.    

762.      

763.    

764.  自己在一个 evc的模拟器里 跑了一下这个  

765.     LPWSTR szPathPrefix,s;   

766.        

767.     TCHAR szPath[MAX_PATH];   

768.     GetModuleFileName(NULL,szPath,MAX_PATH);   

769.     szPathPrefix = szPath;   

770.     s=wcsrchr(szPathPrefix,L'//');   

771.     DrawText(hdc, s, _tcslen(s), &rt,    

772.      DT_SINGLELINE | DT_VCENTER | DT_CENTER);   

773.    

774.  画出来的结果是 /testevc3.exe   

775.    

776.  要取前面的看来要有所变化。

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值