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);
相关推荐
Y.O.U..8 分钟前
GO学习-io包常用接口
开发语言·学习·golang
semantist@语校8 分钟前
第五十七篇|东京银星日本语学校的数据建模:高密度城市中的学习节律、制度边界与 Prompt 接口设计
大数据·数据库·人工智能·学习·百度·prompt·知识图谱
代码游侠8 分钟前
学习笔记——TCP 传输控制协议
linux·网络·笔记·网络协议·学习·tcp/ip
深蓝海拓11 分钟前
PySide6从0开始学习的笔记(十二) QProgressBar(进度条)
笔记·python·qt·学习·pyqt
悟凡爱学习21 分钟前
zigbee学习笔记 --认识什么是zigbee
笔记·学习
q行22 分钟前
MySQL学习日志--表之间的关系
数据库·学习·mysql
尘似鹤31 分钟前
Uboot移植--修改lcd和网络驱动
linux·学习·uboot
d111111111d38 分钟前
STM32平衡车工具-匿名助手+虚拟串口如何使用。
笔记·stm32·单片机·嵌入式硬件·学习
式51639 分钟前
大模型学习基础(七)强化学习概念回顾
学习
絔宝1 小时前
在eclipse中创建Maven项目-用于学习Selenium 自动化测试
学习·selenium·eclipse·maven