问题
I am having serious trouble passing a string from swift, to a function written in c.
I'm trying to do this in my swift code
var address = "192.168.1.2"
var port = 8888
initSocket(address, port)
The c function looks like this:
void initSocket(char *address, int port);
Im getting the error: Cannot convert the expression's of type 'Void' to type 'CMutablePointer'
I can't seem to find a solution that works.
回答1:
Swift CStrings work seamlessly with C constant strings, so use
void initSocket(const char *address, int port);
instead of char*
argument, and declare your address
variable as CString:
var address: CString = "192.168.1.2";
来源:https://stackoverflow.com/questions/25378954/how-to-pass-a-swift-string-to-a-c-function