如何将字符串转换为TYPES.LPTSTR.targetType.array
How to convert a string to TYPES.LPTSTR.targetType.array
我假设了一些定义如下:
var CONFIG = {
is64bit: ctypes.voidptr_t.size == 4 ? false : true,
ifdef_UNICODE: true};
var TYPES = {
CHAR: ctypes.char,
WCHAR: ctypes.char16_t};
TYPES.LPSTR = TYPES.CHAR.ptr;
TYPES.LPWSTR = TYPES.WCHAR.ptr;
TYPES.LPTSTR = CONFIG.ifdef_UNICODE ? TYPES.LPWSTR : TYPES.LPSTR;
我有一个这样的字符串:"OMNIKEY AG智能卡读卡器USB 0"
,我想将其转换为TYPES.LPTSTR.targetType.array
格式,其中如果它通过toString()显示,则如下所示:
ctypes.char16_t.array(36)(["O", "M", "N", "I", "K", "E", "Y", " ",
"A", "G", " ", "S", "m", "a", "r", "t", " ", "C", "a", "r", "d",
" ", "R", "e", "a", "d", "e", "r", " ", "U", "S", "B", " ", "0",
"'x00", "'x00"])
我的系统是64位
这实际上是这样做的:var st = "OMNIKEY AG Smart Card Reader USB 0"; var st_cArr = TYPES.LPTSTR.targetType.array(st.length+1)(st)
我选择了st.length+1
,因为默认情况下你有一个空终止符,我选择了+1
,所以你得到了'x00
的两个空终止符
相关文章:
- 在KeystoneJS中为Types.Money设置默认值
- Google Maps JS API v3 - Add Map Types
- Javascript assertion libraries - chai vs check-types
- 当我运行node app.js命令时,它会给我错误`ENOENT,.mime.types上没有这样的文件或目录
- 是否存在包含所有MouseEvent-Types的枚举
- 如何将字符串转换为TYPES.LPTSTR.targetType.array
- typescript tsc is not excluding @types/corejs
- 在哪里可以获得单个lodash包的@types
- AngularJS: angular-拖放列表dnd-allowed-types在匹配dnd-type时不会求值为tru
- Incovertable types; Canot cast 'android.view.View' t
- Using Typescript 2 @Types with typescript 1.8.10
- 为什么我得到'/base/src/tests/core/types.tests没有时间戳!'
- types .json中的globalDependencies和globalDevDependencies有什么区别?