ios - 快速将 NSString 转换为 Unsigned Short

标签 ios objective-c c swift nsstring

我有 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/

相关文章:

objective-c - 尝试关闭UIDocument时防止崩溃

objective-c - 尝试从非事件对话框获取值时 COCOA 应用程序崩溃

c - 找出多个数的最小公倍数

iphone - UITableViewController 拉动以使用卡住的 header 进行刷新

objective-c - 在 NSMutableArray 中观察计数

ios - AFNetworking 无法访问 setAuthenticationChallengeBlock

c - 虚拟地址 : multiple of four aligned - writing to address "in between"

ios - KineticJS回收内存

ios - 原始 CIFilter 有 nil outputImage

c++ - 在其他计算机上导入 RSA key 时出现问题