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);
相关推荐
组合缺一13 分钟前
Solon AI 开发学习 - 1导引
java·人工智能·学习·ai·openai·solon
brave and determined29 分钟前
可编程逻辑器件学习(day24):异构计算:突破算力瓶颈的未来之路
人工智能·嵌入式硬件·深度学习·学习·算法·fpga·asic
mucheni2 小时前
迅为RK3568开发板OpeHarmony学习开发手册-修改应用程序名称
linux·前端·学习
YJlio3 小时前
进程和诊断工具学习笔记(8.19):Hyper-V 来宾调试与符号配置 —— 在虚拟化场景下用 LiveKd 抓现场
网络·笔记·学习
冻感糕人~3 小时前
Agent框架协议“三部曲”:MCP、A2A与AG-UI的协同演进
java·人工智能·学习·语言模型·大模型·agent·大模型学习
WMX10123 小时前
Origin学习记录
学习
d111111111d4 小时前
MPU6050简介(学习笔记)
笔记·stm32·单片机·嵌入式硬件·学习
好奇龙猫10 小时前
日语学习-日语知识点小记-构建基础-JLPT-N3阶段-二阶段(19):阶段练习
学习
松涛和鸣10 小时前
11.C 语言学习:递归、宏定义、预处理、汉诺塔、Fibonacci 等
linux·c语言·开发语言·学习·算法·排序算法
Q***f63515 小时前
后端消息队列学习资源,RabbitMQ+Kafka
学习·kafka·rabbitmq