c++ - C++ 将 int 转换为 wchar_t*
问题描述
所以我一直在尝试将整数值转换为 wchar_t*。这是我运行的测试,所以我可以尽可能地简化它。
int test=123;
wchar_t *testc[12][12];testc[0][0]=L"hello";
_itow(test,testc[0][0],10);
wcout<<testc[0][0];
这段代码在这里编译,但也给了我厄运的 Not Responding 错误。我的理解非常奇怪的是为什么会这样
int test=123;
wchar_t *testc[12][12];testc[0][0]=L"hello";
_itow(test,testc[1][0],10);
wcout<<testc[0][0]<<testc[1][0];
工作没有任何问题,并按预期显示输出“hello123”。
知道为什么会这样吗?
我的项目有一些类似于显示的第一个代码的事件(除了 wcout 部分),因此我想了解为什么它们给我的 Not Responding 状态。
解决方案
您的代码的主要问题是没有为 testc[1][0] 分配内存。此外,最好使用标准 c++ 函数,如 std::to_wstring 而不是 _itow。
所以这里是您的问题的示例代码:
int main()
{
int test=123;
wchar_t *testc[12][12];
testc[0][0]=L"hello";
testc[1][0] = new wchar_t[4];
std::wstring temp = std::to_wstring(123);
for(int i=0;i<temp.length();i++)
{
testc[1][0][i] = temp[i];
}
wcout<<testc[0][0]<<testc[1][0];
return 0;
}
这只是示例代码,我假设在您的程序中您正在处理内存分配和释放
推荐阅读
- wordpress - 按下一步按钮更改变体
- sql-server - Msg 601... "Could not continue scan with NOLOCK due to data movement".BUT NOLOCK ! - BUG
- mysql - 使 MySQL 实际返回字段
- scala - 带有模拟对象的 ScalaTest
- sql-server - dtutil 从远程导入 ssis 包
- math - 给定两个过渡率或违约率矩阵,定量评估两个评级机构使用的质量控制或方法
- angular - 在 Angular 表格中对数据进行排序并显示项目
- python - TypeError: issubclass() arg 1 必须是一个类,而我很确定 arg 1 是一个类
- spring-integration - Spring Integration Flow Level CorrelationId 用于记录和跟踪流
- spring-cloud - 如何在 Spring Cloud 数据流 2.6.1 中从私有仓库注册应用程序