我有NSString
“ 3265”,并且必须将其发送到'.c
'文件中具有参数unsigned short
的函数中的方法
这是我的代码。
在.c
文件中
bool checkData(unsigned short num) {
}
在
.swift
文件中var number: NSString! = "3265"
我需要将'
0x3265
'发送到checkData
函数。如何将
3265
(NSString
)转换为0x3265
(unsigned short
) 最佳答案
这应该工作:
// This number is hex, not decimal (although it looks decimal)
let str = "3265"
// Hence we must parse it as a base-16 number:
let num : CUnsignedShort = CUnsignedShort(strtoul(str, nil, 16))
// Convert it back to hex for printing
println(String(num, radix:16)) // This should produce 3265
调用
strtoul
会将字符串转换为数字,并将其解释为十六进制。然后从中创建一个CUnsignedShort
,可以将其传递给C函数。关于ios - 快速将NSString转换为Unsigned Short,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28342905/