宽字符的学习以及手动实现相关函数------wcslen,strcpy

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

宽字符的学习以及⼿动实现相关函数------wcslen,strcpy
1 #include<stdio.h>
2 #include<stdlib.h>
3 #include<locale.h>
4
5
6// ⼿动实现统计宽字符的个数
7int mywcslen(wchar_t *wstr)
8 {
9int i = 0;
10for (;*wstr!=L'\0';)
11 {
12 i++;
13 wstr++;
14 }
15return i;
16 }
17
18// ⼿动实现strcpy 宽字符串的拷贝
19 wchar_t * mywcstrcpy(wchar_t * dest, const wchar_t * source)
20 {
21if (*dest==NULL || *source==NULL)
22 {
23return NULL;
24 }
25else
26 {
27 wchar_t *p = dest;
28while (*dest++=*source++)
29 {
30
31 }
32return p;
33 }
34
35 }
36
37void main()
38 {
39 setlocale(LC_ALL,"ZH-CN");// 本地话设定中⽂
40
41 wchar_t wch1 = L'我';
42 putwchar(wch1);
43 putwchar('\n');
44
45//-------------------------------------------------------
46
47 wchar_t wch2[10] = L"我爱中国";
48
49 wprintf(L"%ls",wch2);
50
51 putwchar('\n');
52
53int len1 = wcslen(wch2);
54 printf("len1长度为: %d\n",len1);
55
56// 调⽤⾃⼰实现的⽅法统计字符的个数
57int len2 = mywcslen(wch2);
58 printf("len2长度为: %d\n", len2);
59
60//-------------------------------------------------------
61 wchar_t *p = (wchar_t[100]) { 0 };
62 wchar_t wch3[20] = L"我是中国⼈我爱我的祖国";
63 strcpy(p,wch3);
64 wprintf(L"%ls\n",p);
65
66// 调⽤⼿动实现的mywcstrcpy⽅法
67 mywcstrcpy(p,wch3);
68 wprintf(L"%ls\n", p);
69
70 system("pause");
71 }
72
73/*********************************运⾏结果*****************************/
74
75/*
76我
77我爱中国
78 len1长度为: 4
79 len2长度为: 4
80我是中国⼈我爱我的祖国81我是中国⼈我爱我的祖国82请按任意键继续. . .
83*/。

相关文档
最新文档