C++中的内置类型之间的格式转换

本文汇集了多种编程方法和技术实践,包括字符转换、多字节到宽字符转换等核心内容,旨在为读者提供丰富资源,促进技术学习与交流。

说明:该文章中的方法多是来源于网上或书上的资料中,此处仅是昨个汇集以便今后的查询学习,对于分享学习方法的网友表示感谢,望共同进步。


1、char* To wchar_t*

     int  len = ::MultiByteToWideChar(CP_ACP,0,mch,strlen(mch),NULL,0);
     wchar_t *wch= new wchar_t[len+1];
     ::MultiByteToWideChar(CP_ACP,0,mch,strlen(mch),wch,len);
     wch[len] = '\0';


C++ 中,枚举类型可以隐式或显式地转换内置类型(通常是整数类型)。 ### 隐式转换 枚举类型可以隐式转换为整数类型。默认情况下,枚举常量的值从 0 开始,依次递增。 ```cpp #include <iostream> // 定义一个枚举类型 enum Color { RED, GREEN, BLUE }; int main() { Color c = RED; int num = c; // 隐式转换 std::cout << "The integer value of RED is: " << num << std::endl; return 0; } ``` 在上述代码中,将枚举变量 `c` 赋值给整数变量 `num` 时,发生了隐式转换。 ### 显式转换 可以使用强制类型转换运算符(如 `static_cast`)来显式地将枚举类型转换内置类型。 ```cpp #include <iostream> // 定义一个枚举类型 enum Shape { CIRCLE = 10, SQUARE = 20, TRIANGLE = 30 }; int main() { Shape s = SQUARE; int value = static_cast<int>(s); // 显式转换 std::cout << "The integer value of SQUARE is: " << value << std::endl; return 0; } ``` 这里使用 `static_cast<int>(s)` 显式地将枚举变量 `s` 转换为整数类型。 ### 转换为其他整数类型 枚举类型不仅可以转换为 `int` 类型,还可以转换为其他整数类型,如 `short`、`long` 等。 ```cpp #include <iostream> // 定义一个枚举类型 enum Size { SMALL, MEDIUM, LARGE }; int main() { Size size = MEDIUM; short smallNum = static_cast<short>(size); // 转换为 short 类型 long longNum = static_cast<long>(size); // 转换为 long 类型 std::cout << "The short value of MEDIUM is: " << smallNum << std::endl; std::cout << "The long value of MEDIUM is: " << longNum << std::endl; return 0; } ``` 此代码展示了将枚举类型转换为 `short` 和 `long` 类型的方法。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值