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);
相关推荐
西岸行者9 天前
学习笔记:SKILLS 能帮助更好的vibe coding
笔记·学习
悠哉悠哉愿意9 天前
【单片机学习笔记】串口、超声波、NE555的同时使用
笔记·单片机·学习
别催小唐敲代码9 天前
嵌入式学习路线
学习
毛小茛9 天前
计算机系统概论——校验码
学习
babe小鑫9 天前
大专经济信息管理专业学习数据分析的必要性
学习·数据挖掘·数据分析
winfreedoms9 天前
ROS2知识大白话
笔记·学习·ros2
在这habit之下9 天前
Linux Virtual Server(LVS)学习总结
linux·学习·lvs
我想我不够好。9 天前
2026.2.25监控学习
学习
im_AMBER9 天前
Leetcode 127 删除有序数组中的重复项 | 删除有序数组中的重复项 II
数据结构·学习·算法·leetcode
CodeJourney_J9 天前
从“Hello World“ 开始 C++
c语言·c++·学习