我有NSString“ 3265”,并且必须将其发送到'.c'文件中具有参数unsigned short的函数中的方法

这是我的代码。

.c文件中

bool checkData(unsigned short num) {

}


.swift文件中

var number: NSString! = "3265"


我需要将'0x3265'发送到checkData函数。

如何将3265NSString)转换为0x3265unsigned 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/

10-12 00:16