CREO TOOLKIT二次开发学习之字符转换

在tk中,有很多都是可以直接强制转换的,本文章只列举字符相关的转换。

不建议使用tk官方手册的函数进行转换,因此下文均以原生c++进行举例。

只列举其中一部分,更多可以查阅c++官方api文档:

std::wcstol, std::wcstoll - C++中文 - API参考文档

空终止宽字符串 - C++中文 - API参考文档

空终止多字节字符串 - C++中文 - API参考文档

std::basic_string - C++中文 - API参考文档

cpp 复制代码
//double转wstring
wstring a;
double b;
a=to_wstring(b);


//wstring转double
wstring wstr = L"123.456"; // 需要转换的 wstring
wchar_t* end; // 用于检测转换结束的位置
double value = wstod(wstr.c_str(), &end); // 转换为 double
if (end == wstr.c_str()) {
        std::wcerr << L"转换失败,未转换任何字符。" << std::endl;
    } else {
        std::wcout << L"转换结果: " << value << std::endl; // 输出结果
    }

//string转double
wstring wstr(proval.value.s_val); //将wchar_t字符串转为wstring字符串
wstring_convert<std::codecvt_utf8_utf16<wchar_t>> converter; //转换编码
string str = converter.to_bytes(wstr);//将wstring字符串转为utf-8编码的字符串
double d = stod(str); //将utf-8编码的字符串转为实数


//int转wstring
wstring a;
int c;
a=to_wstring(c);


//wstring转int
wstring wstr = L"12345"; // 需要转换的 wstring
wchar_t* end; // 用于检测转换结束的位置
int value = std::wstoi(wstr.c_str(), &end); // 转换为 int
if (end == wstr.c_str()) {
        std::wcerr << L"转换失败,未转换任何字符。" << std::endl;
    } else {
        std::wcout << L"转换结果: " << value << std::endl; // 输出结果
    }


//wchar_t转wstring
wchar_t d;
wstring a;
a=(wstring)d;
//假设是结构体指针,结构体为i
wstring a;
a=wstring(i->d);//wchar_t转wstring


//wstring转wchar_t
// 定义一个宽字符串 wstr,内容为 "你好"
std::wstring wstr = L"你好";
// 定义一个宽字符数组 b,大小为 120
wchar_t b[120];
// 使用 wcscpy_s 函数将 wstr 的内容复制到 b 中
wcscpy_s(b, 120, wstr.c_str());


//wstring转string
wstring_convert<std::codecvt_utf8<wchar_t>> converter;
string str = converter.to_bytes(a);

//string转wstring
// 使用 std::wstring_convert 进行转换
std::wstring_convert<std::codecvt_utf8<wchar_t>> converter;
string str;
std::wstring wstr = converter.from_bytes(str);

//wchar_t*转wstring
wchar_t* e;
a=e; //在creo中可以直接由wchar_t*转为wstring,属于隐性转换

//wstring转wchar_t*
// 获取 const wchar_t* 类型的指针
const wchar_t* wcharPtr =a.c_str();
// 如果需要可修改的 wchar_t* 类型,可以使用 const_cast
wchar_t* modifiableWcharPtr = const_cast<wchar_t*>(wcharPtr);
相关推荐
wsx_iot22 分钟前
TDengine学习
数据库·学习·tdengine
AI成长日志1 小时前
【笔面试算法学习专栏】二分查找专题:力扣hot100经典题目深度解析
学习·算法·面试
m0_564914922 小时前
AI学习课堂网站丨OPENMAIC丨清华团队开源项目
学习
开源盛世!!3 小时前
3.26-3.27学习笔记
笔记·学习
我的xiaodoujiao4 小时前
API 接口自动化测试详细图文教程学习系列7--相关Python基础知识6
python·学习·测试工具·pytest
山川行4 小时前
Python快速闯关8:内置函数
java·开发语言·前端·笔记·python·学习·visual studio
charlie1145141914 小时前
嵌入式C++教程实战之Linux下的单片机编程:从零搭建 STM32 开发工具链(2) —— HAL 库获取、启动文件坑位与目录搭建
linux·开发语言·c++·stm32·单片机·学习·嵌入式
知识分享小能手4 小时前
MongoDB入门学习教程,从入门到精通,MongoDB聚合框架(7)
数据库·学习·mongodb
今儿敲了吗5 小时前
算法复盘——前缀和
笔记·学习·算法
啊我不会诶5 小时前
最小生成树
c++·笔记·学习·算法