如何将Swift字符串数组传递给带有char **参数的C函数

标记

我正在尝试与Swift的旧C终端应用程序进行交互。我已经成功集成了源代码,并将标头从C桥接到Swift。该代码从Xcode 6.3 beta编译并运行。我已将终端应用程序的主要入口点重命名为:

int initialize(int argc, char **argv);

不过,我正在努力将Swift的参数传递给此C函数。我的挑战是将参数转换为正确的格式。Swift的典型输入如下所示:

let args = ["-c", "1.2.3.4", "-p", "8000"]

我试过弄乱“ cStringUsingEncoding(NSUTF8StringEncoding)”和“ withUnsafePointer”,但到目前为止还没有运气。任何帮助是极大的赞赏!

马丁·R

C函数

int initialize(int argc, char **argv);

被映射为Swift

func initialize(argc: Int32, argv: UnsafeMutablePointer<UnsafeMutablePointer<Int8>>) -> Int32

这是一个可能的解决方案:

let args = ["-c", "1.2.3.4", "-p", "8000"]

// Create [UnsafeMutablePointer<Int8>]:
var cargs = args.map { strdup($0) }
// Call C function:
let result = initialize(Int32(args.count), &cargs)
// Free the duplicated strings:
for ptr in cargs { free(ptr) }

它使用以下事实:在strdup($0)Swift字符串中$0会自动将其转换为C字符串,如String value to UnsafePointer <UInt8>函数参数behavior中所述

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何将字符串数组传递给函数?

来自分类Dev

将swift字符串传递给c函数char *

来自分类Dev

LuaJIT ffi:如何将字符串数组传递给c函数

来自分类Dev

如何将带有字符串变量的字符串传递给C ++中的函数

来自分类Dev

如何将字符串数组指针传递给新的字符数组?在 C

来自分类Dev

如何将char传递给需要字符串的函数

来自分类Dev

如何将字符串参数传递给jQuery

来自分类Dev

我如何将列表,数组或字符串作为参数传递给redshift

来自分类Dev

如何将SQL参数中的字符串数组传递给SQL中的IN子句

来自分类Dev

BASH:如何将数组中的字符串作为参数传递给命令?

来自分类Dev

如何将字符串传递给宏函数

来自分类Dev

如何将字符串传递给 glutCreateWindow() 函数?

来自分类Dev

如何将字符串数组从函数传递给main

来自分类Dev

如何将Swift字符串传递给ac函数?

来自分类Dev

如何将两个字符串从Swift传递给C ++函数,并获取一个整数数组?

来自分类Dev

如何将字符串参数传递给按钮onclick事件中的函数

来自分类Dev

如何将字符串作为参数传递给javascript函数

来自分类Dev

如何将字符串作为参数传递给JavaScript函数?

来自分类Dev

如何将字符串作为参数传递给需要R中的变量的函数

来自分类Dev

如何将字符串参数传递给 javascript 函数

来自分类Dev

如何将连接的字符串作为参数传递给函数:Angular 2

来自分类Dev

如何将字符串数组传递给 C 中的另一个函数

来自分类Dev

将字符串地址作为参数传递给指针,指针传递给char函数

来自分类Dev

如何将二维数组类型字符(字符串)作为函数参数传递?

来自分类Dev

将字符串数组传递给C中的函数

来自分类Dev

C ++将字符串数组传递给函数

来自分类Dev

如何将字符串传递给Ant java?我的程序以某种方式不接受带有空格的参数

来自分类Dev

将指针传递给char数组作为函数的参数-C

来自分类Dev

如何将字符串迭代器变量传递给C ++中的函数?

Related 相关文章

  1. 1

    如何将字符串数组传递给函数?

  2. 2

    将swift字符串传递给c函数char *

  3. 3

    LuaJIT ffi:如何将字符串数组传递给c函数

  4. 4

    如何将带有字符串变量的字符串传递给C ++中的函数

  5. 5

    如何将字符串数组指针传递给新的字符数组?在 C

  6. 6

    如何将char传递给需要字符串的函数

  7. 7

    如何将字符串参数传递给jQuery

  8. 8

    我如何将列表,数组或字符串作为参数传递给redshift

  9. 9

    如何将SQL参数中的字符串数组传递给SQL中的IN子句

  10. 10

    BASH:如何将数组中的字符串作为参数传递给命令?

  11. 11

    如何将字符串传递给宏函数

  12. 12

    如何将字符串传递给 glutCreateWindow() 函数?

  13. 13

    如何将字符串数组从函数传递给main

  14. 14

    如何将Swift字符串传递给ac函数?

  15. 15

    如何将两个字符串从Swift传递给C ++函数,并获取一个整数数组?

  16. 16

    如何将字符串参数传递给按钮onclick事件中的函数

  17. 17

    如何将字符串作为参数传递给javascript函数

  18. 18

    如何将字符串作为参数传递给JavaScript函数?

  19. 19

    如何将字符串作为参数传递给需要R中的变量的函数

  20. 20

    如何将字符串参数传递给 javascript 函数

  21. 21

    如何将连接的字符串作为参数传递给函数:Angular 2

  22. 22

    如何将字符串数组传递给 C 中的另一个函数

  23. 23

    将字符串地址作为参数传递给指针,指针传递给char函数

  24. 24

    如何将二维数组类型字符(字符串)作为函数参数传递?

  25. 25

    将字符串数组传递给C中的函数

  26. 26

    C ++将字符串数组传递给函数

  27. 27

    如何将字符串传递给Ant java?我的程序以某种方式不接受带有空格的参数

  28. 28

    将指针传递给char数组作为函数的参数-C

  29. 29

    如何将字符串迭代器变量传递给C ++中的函数?

热门标签

归档