如何将子字符串从 Swift 传递给 C?
How to pass substring from Swift to C?
我有一个值为“7438754876*567”的变量。我从字符串中得到了这个,因为substring.I想把这个值传递给c函数。
void getRechargePinFromDestination(char* rechargeNumber)
{
setRechargeValue(rechargeNumber);
}
因为我已经声明为char,swift把它当作一个Int8.How我可以通过这个value.Anyone请提前帮助me.Thanks
如果 C 函数不改变传递的字符串,那么您应该将参数声明为 const char*
:
void getRechargePinFromDestination(const char* rechargeNumber)
{
// ...
}
现在您可以通过先将 Swift 子字符串转换为 String
来传递它们(它会自动转换为临时 C 字符串):
getRechargePinFromDestination(String(subString))
或与
subString.withCString { getRechargePinFromDestination([=12=]) }
无论哪种情况,调用 C 函数时都会使用指向 临时 C 字符串表示形式的指针,该表示仅在函数调用期间有效。
我有一个值为“7438754876*567”的变量。我从字符串中得到了这个,因为substring.I想把这个值传递给c函数。
void getRechargePinFromDestination(char* rechargeNumber)
{
setRechargeValue(rechargeNumber);
}
因为我已经声明为char,swift把它当作一个Int8.How我可以通过这个value.Anyone请提前帮助me.Thanks
如果 C 函数不改变传递的字符串,那么您应该将参数声明为 const char*
:
void getRechargePinFromDestination(const char* rechargeNumber)
{
// ...
}
现在您可以通过先将 Swift 子字符串转换为 String
来传递它们(它会自动转换为临时 C 字符串):
getRechargePinFromDestination(String(subString))
或与
subString.withCString { getRechargePinFromDestination([=12=]) }
无论哪种情况,调用 C 函数时都会使用指向 临时 C 字符串表示形式的指针,该表示仅在函数调用期间有效。