1 //定义一个结构体记录 2 struct group 3 { 4 CString text; //定义一个CString 5 std::vector<tag_t> boudaries; 6 std::vector<tag_t> charmfers; 7 std::vector<tag_t> slots; 8 }; 9 10 struct AllFeats 11 { 12 std::vector<tag_t> maxBoudaries; 13 struct group CurveGroup; 14 }; 15 16 使用方法: 17 18 //实现从char*(多字节)转换CString 19 例子: 20 项目属性改为多字节 21 22 allFeats.CurveGroup.text =notes[0].GetLocaleText();//=后边这句为CString转换为char*,NXOPEN里的方法.GetLocaleText() 23 24 25 26 //实现从char*转换Unicode 27 //多字节转换成Unicode 28 例子: 29 项目属性改为Unicode 30 31 CString c; 32 c.Format(L"%hs", notes[0].GetLocaleText()); 33 allFeats.CurveGroup.text = c; 34 35 36 37 //实现从Unicode转换为多字节的 38 例子: 39 项目属性改为Unicode 40 41 //wchar_t为宽字节,Unicode是宽字节的 42 wchar_t str[30]; //宽字节char类型的 43 CStringA cs; 44 cs.Format("%ws", str); 45 46 47 48 49 定义方法: 50 使用多字节 51 定义 CStringA就是多字节格式的 52 53 使用Unicode 54 定义 CStringW就是Unicode格式的 55 56 如果CString后面什么都不加,它则使用当前项目属性的本身字符集 57 58 在使用CString与char*进行转换的时候,可以直接定义CStringA,可以直接转换,如果定义CString,要在项目属性里设置成多字节,要不然等于的类型不一样。 59 60 61 我发现有一个博主写了一篇VC包装好的API现成转换函数 62 UNICODE串转换成char类型串的四种方法 63 链接https://www.cnblogs.com/liangxiaofeng/p/5765196.html
NX二次开发-char*转换成CString,多字节转换成Unicode使用方法
原文:https://www.cnblogs.com/nxopen2018/p/10957447.html