- 一 首先定义一个数据的结构体
- structStudent
- {
- BYTEbName[8];
- BYTEbAge[4];
- BYTEbAddress[20];
- };
- 二 定义一个转换测试函数
-
- BOOLSetStuInfo(StudentstuSet)
- {
- FILE*fp;
- //charstr[SIZE],ch;
- //inti=0;
- fp=fopen("test.txt","w");
- //printf("Pleaseinputastring:\n");
- //while((ch=getchar())!='!'&&i<SIZE)
- //str[i++]=toupper(ch);
- //str[i]='\0';/*手动加一个结束标志*/
- //printf("%s\n",str);
- //fprintf(fp,"%s\n",str);
- //fwrite(str,i,1,fp);/*两种输出方式*/
- fprintf(fp,"%s\n","------------------case1------------------");
- fprintf(fp,"%s\n",stuSet.bName);
- fprintf(fp,"%s\n",stuSet.bAge);
- fprintf(fp,"%s\n",stuSet.bAddress);
- fprintf(fp,"%s\n","----------------------------------------");
- BOOLbResult=TRUE;
- WCHARstrName[8];
- WCHARstrAge[4];
- WCHARstrAddress[20];
- TCHARTest[20]=_T("I中国人");
- CHARTempArray[20];
- strcpy(TempArray,"中1过1");
- DWORDdwNum;
- memcpy(TempArray,stuSet.bName,sizeof(stuSet.bName));
- dwNum=MultiByteToWideChar(CP_ACP,0,TempArray,-1,NULL,0);
- MultiByteToWideChar(CP_ACP,0,TempArray,-1,strName,dwNum);
- memcpy(TempArray,stuSet.bAge,sizeof(stuSet.bAge));
- dwNum=MultiByteToWideChar(CP_ACP,0,TempArray,-1,NULL,0);
- MultiByteToWideChar(CP_ACP,0,TempArray,-1,strAge,dwNum);
- memcpy(TempArray,stuSet.bAddress,sizeof(stuSet.bAddress));
- dwNum=MultiByteToWideChar(CP_ACP,0,TempArray,-1,NULL,0);
- MultiByteToWideChar(CP_ACP,0,TempArray,-1,strAddress,dwNum);
- fprintf(fp,"%s\n","------------------case2------------------");
- fprintf(fp,"%s\n",strName);
- fprintf(fp,"%s\n",strAge);
- fprintf(fp,"%s\n",strAddress);
- fprintf(fp,"%s\n",Test);
- fprintf(fp,"%s\n","----------------------------------------");
- CStringstrSTUInfo;
- //MessageBox(NULL,strSTUInfo,_T("Title"),MB_OK);
- strSTUInfo.Format(_T("Name='%10s'Age='%11s'Address='%11s'"),strName,strAge,strAddress);
- //MessageBox(NULL,strSTUInfo,_T("Title"),MB_OK);
- fprintf(fp,"%s\n","------------------case3------------------");
- fprintf(fp,"%s\n",strSTUInfo);
- fprintf(fp,"%s\n","----------------------------------------");
- strSTUInfo.Format(_T("Name='%10s'Age='%11s'Address='%11s'"),stuSet.bName,stuSet.bAge,stuSet.bAddress);
- fprintf(fp,"%s\n","------------------case4------------------");
- fprintf(fp,"%s\n",strSTUInfo);
- fprintf(fp,"%s\n","----------------------------------------");
- CStringcsName;
- CStringcsAge;
- CStringcsAddress;
- csName+=stuSet.bName;
- csAge+=stuSet.bAge;
- csAddress+=stuSet.bAddress;
- strSTUInfo.Format(_T("Name='%s'Age='%s'Address='%s'"),csName,csAge,csAddress);
- //MessageBox(NULL,strSTUInfo,_T("Title"),MB_OK);
- fprintf(fp,"%s\n","------------------case5------------------");
- fprintf(fp,"%s\n",csName);
- fprintf(fp,"%s\n",csAge);
- fprintf(fp,"%s\n",csAddress);
- fprintf(fp,"%s\n",strSTUInfo);
- fprintf(fp,"%s\n","----------------------------------------");
- csName="";
- csAge="";
- csAddress="";
- csName+=strName;
- csAge+=strAge;
- csAddress+=strAddress;
- strSTUInfo.Format(_T("Name='%s'Age='%s'Address='%s'"),csName,csAge,csAddress);
- fclose(fp);
- returnTRUE;
- }
- 三 运行产看测试结果
-
- voidCASIIandUnicodeTestDlg::OnTestStruct()
- {
- //TODO:Addyourcontrolnotificationhandlercodehere
- StudentSetInfo={"1戴1勇","25","1江1苏1科1技1大1学1"};
- //strcpy(SetInfo.bName,"Jacky");
- //strcpy(SetInfo.bAge,"25");
- //strcpy(SetInfo.bAddress,"JiangSuUniversity");
- SetStuInfo(SetInfo);
- inti;
- i=100;
- }
- 四 查看测试结果
- ------------------case1------------------
1戴1勇
25
1江1苏1科1技1大1学1
----------------------------------------
------------------case2------------------
1
2
1
I中国人
----------------------------------------
------------------case3------------------
Name=' 1' Age=' 2' Address=' 1'
----------------------------------------
------------------case4------------------
Name=' 1戴1勇' Age=' 25' Address='1江1苏1科1技1大1学1'
----------------------------------------
------------------case5------------------
1戴1勇
25
1江1苏1科1技1大1学1
Name='1戴1勇' Age='25' Address='1江1苏1科1技1大1学1'
----------------------------------------
将ASCII转换为Wchar CString测试~
最新推荐文章于 2019-05-12 08:44:27 发布