如何将Chapel字符串传递给需要(非常量)char *的C函数?

时间:2019-01-14 19:20:04

标签: chapel

假设我有一个教堂字符串

var s : string;

我如何将其发送给期望char*的函数(因为c_string假设为const char *)?

1 个答案:

答案 0 :(得分:4)

以下是执行此操作的示例

extern {
  #include <stdio.h>
  static void f(char* argument) {
    printf("%s\n", argument);
  }
}

var s: string = "hello";
f(s.c_str():c_void_ptr:c_ptr(c_char));

请注意在教堂1.19之前必须对c_void_ptr进行强制转换。