- 一 首先定义一个数据的结构体
- struct Student
- {
- BYTE bName[8];
- BYTE bAge[4];
- BYTE bAddress[20];
- };
- 二 定义一个转换测试函数
-
- BOOL SetStuInfo(Student stuSet)
- {
- FILE *fp;
- // char str[SIZE],ch;
- // int i=0;
- fp=fopen("test.txt","w");
- // printf("Please input a string:/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", "----------------------------------------");
- BOOL bResult = TRUE;
- WCHAR strName[8];
- WCHAR strAge[4];
- WCHAR strAddress[20];
- TCHAR Test[20] =_T("I中国人");
- CHAR TempArray[20];
- strcpy(TempArray,"中1过1");
- DWORD dwNum ;
- 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", "----------------------------------------");
- CString strSTUInfo;
- // 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", "----------------------------------------");
- CString csName;
- CString csAge;
- CString csAddress;
- 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);
- return TRUE;
- }
- 三 运行产看测试结果
-
- void CASIIandUnicodeTestDlg::OnTestStruct()
- {
- // TODO: Add your control notification handler code here
- Student SetInfo ={"1戴1勇","25","1江1苏1科1技1大1学1"};
- // strcpy(SetInfo.bName, "Jacky");
- // strcpy(SetInfo.bAge, "25");
- // strcpy(SetInfo.bAddress, "JiangSu University");
- SetStuInfo(SetInfo);
- int i;
- 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测试~
最新推荐文章于 2021-10-14 16:28:35 发布