【发布时间】:2021-07-31 08:10:12
【问题描述】:
我正在尝试将 wchar_t 数组转换为一个 int 数组,其中包含 C 中每个 wchar_t 元素的编码。我知道我可以通过像下面的代码这样的循环来做到这一点,有没有其他方法不使用循环哪些可以大大提高性能?
for(int i=0; i< filesize; i++){
t[i] = (int)p[i]; //t is an int array, p is a wchar_t array
}
【问题讨论】:
-
我猜你可以使用 memcpy
-
如果 int 和 wchar_t 兼容,您可以使用 memcpy,但在这种情况下,代码可能会被编译为 memcpy。所以可能没有什么可以做的,尽管如果可能的话我会考虑直接使用 wchar_t 数组。
-
@lulle 怎么样?你能提供一个示例代码吗?
-
@PaulHankin 你能提供一个使用 memcpy 的示例代码吗?是的,我想直接在不支持的 cuda 中使用 wchar_t 数组,所以我试图先在设备中将其转换为 int 数组,然后将其转换回主机中