`

将ASCII转换为Wchar CString测试~

阅读更多
  1. 一 首先定义一个数据的结构体
  2. structStudent
  3. {
  4. BYTEbName[8];
  5. BYTEbAge[4];
  6. BYTEbAddress[20];
  7. };
  8. 二 定义一个转换测试函数
    1. BOOLSetStuInfo(StudentstuSet)
    2. {
    3. FILE*fp;
    4. //charstr[SIZE],ch;
    5. //inti=0;
    6. fp=fopen("test.txt","w");
    7. //printf("Pleaseinputastring:\n");
    8. //while((ch=getchar())!='!'&&i<SIZE)
    9. //str[i++]=toupper(ch);
    10. //str[i]='\0';/*手动加一个结束标志*/
    11. //printf("%s\n",str);
    12. //fprintf(fp,"%s\n",str);
    13. //fwrite(str,i,1,fp);/*两种输出方式*/
    14. fprintf(fp,"%s\n","------------------case1------------------");
    15. fprintf(fp,"%s\n",stuSet.bName);
    16. fprintf(fp,"%s\n",stuSet.bAge);
    17. fprintf(fp,"%s\n",stuSet.bAddress);
    18. fprintf(fp,"%s\n","----------------------------------------");
    19. BOOLbResult=TRUE;
    20. WCHARstrName[8];
    21. WCHARstrAge[4];
    22. WCHARstrAddress[20];
    23. TCHARTest[20]=_T("I中国人");
    24. CHARTempArray[20];
    25. strcpy(TempArray,"中1过1");
    26. DWORDdwNum;
    27. memcpy(TempArray,stuSet.bName,sizeof(stuSet.bName));
    28. dwNum=MultiByteToWideChar(CP_ACP,0,TempArray,-1,NULL,0);
    29. MultiByteToWideChar(CP_ACP,0,TempArray,-1,strName,dwNum);
    30. memcpy(TempArray,stuSet.bAge,sizeof(stuSet.bAge));
    31. dwNum=MultiByteToWideChar(CP_ACP,0,TempArray,-1,NULL,0);
    32. MultiByteToWideChar(CP_ACP,0,TempArray,-1,strAge,dwNum);
    33. memcpy(TempArray,stuSet.bAddress,sizeof(stuSet.bAddress));
    34. dwNum=MultiByteToWideChar(CP_ACP,0,TempArray,-1,NULL,0);
    35. MultiByteToWideChar(CP_ACP,0,TempArray,-1,strAddress,dwNum);
    36. fprintf(fp,"%s\n","------------------case2------------------");
    37. fprintf(fp,"%s\n",strName);
    38. fprintf(fp,"%s\n",strAge);
    39. fprintf(fp,"%s\n",strAddress);
    40. fprintf(fp,"%s\n",Test);
    41. fprintf(fp,"%s\n","----------------------------------------");
    42. CStringstrSTUInfo;
    43. //MessageBox(NULL,strSTUInfo,_T("Title"),MB_OK);
    44. strSTUInfo.Format(_T("Name='%10s'Age='%11s'Address='%11s'"),strName,strAge,strAddress);
    45. //MessageBox(NULL,strSTUInfo,_T("Title"),MB_OK);
    46. fprintf(fp,"%s\n","------------------case3------------------");
    47. fprintf(fp,"%s\n",strSTUInfo);
    48. fprintf(fp,"%s\n","----------------------------------------");
    49. strSTUInfo.Format(_T("Name='%10s'Age='%11s'Address='%11s'"),stuSet.bName,stuSet.bAge,stuSet.bAddress);
    50. fprintf(fp,"%s\n","------------------case4------------------");
    51. fprintf(fp,"%s\n",strSTUInfo);
    52. fprintf(fp,"%s\n","----------------------------------------");
    53. CStringcsName;
    54. CStringcsAge;
    55. CStringcsAddress;
    56. csName+=stuSet.bName;
    57. csAge+=stuSet.bAge;
    58. csAddress+=stuSet.bAddress;
    59. strSTUInfo.Format(_T("Name='%s'Age='%s'Address='%s'"),csName,csAge,csAddress);
    60. //MessageBox(NULL,strSTUInfo,_T("Title"),MB_OK);
    61. fprintf(fp,"%s\n","------------------case5------------------");
    62. fprintf(fp,"%s\n",csName);
    63. fprintf(fp,"%s\n",csAge);
    64. fprintf(fp,"%s\n",csAddress);
    65. fprintf(fp,"%s\n",strSTUInfo);
    66. fprintf(fp,"%s\n","----------------------------------------");
    67. csName="";
    68. csAge="";
    69. csAddress="";
    70. csName+=strName;
    71. csAge+=strAge;
    72. csAddress+=strAddress;
    73. strSTUInfo.Format(_T("Name='%s'Age='%s'Address='%s'"),csName,csAge,csAddress);
    74. fclose(fp);
    75. returnTRUE;
    76. }
    77. 三 运行产看测试结果
      1. voidCASIIandUnicodeTestDlg::OnTestStruct()
      2. {
      3. //TODO:Addyourcontrolnotificationhandlercodehere
      4. StudentSetInfo={"1戴1勇","25","1江1苏1科1技1大1学1"};
      5. //strcpy(SetInfo.bName,"Jacky");
      6. //strcpy(SetInfo.bAge,"25");
      7. //strcpy(SetInfo.bAddress,"JiangSuUniversity");
      8. SetStuInfo(SetInfo);
      9. inti;
      10. i=100;
      11. }
      12. 四 查看测试结果
      13. ------------------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'
        ----------------------------------------

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics