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);
相关推荐
呱呱巨基42 分钟前
Linux Ext系列文件系统
linux·c++·笔记·学习
zpedu1 小时前
给大家普及一下,1月才开始PMP的强度
学习
ooo-p2 小时前
FPGA学习篇——Verilog学习之“流水灯”
学习·fpga开发
代码游侠2 小时前
学习笔记——嵌入式系统通信基础及串口开发
运维·arm开发·笔记·单片机·嵌入式硬件·学习
小袁顶风作案2 小时前
leetcode力扣——452. 用最少数量的箭引爆气球
学习·算法·leetcode·职场和发展
2501_942326442 小时前
脑科学高效记忆法让学习变轻松
学习
cocodameyou1322 小时前
从能量阻滞到流动:解码“被动学习”背后的家庭动能重构逻辑
笔记·学习·其他·百度·微信·重构·课程设计
醇氧3 小时前
Spring WebFlux 学习
java·学习·spring
烤麻辣烫3 小时前
23种设计模式(新手)-9单例模式
java·开发语言·学习·设计模式·intellij-idea
TonyLee0173 小时前
新型学习范式(机器学习)
人工智能·学习·机器学习