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.
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";
in C, declare your parameter like this
void setLastName(const char* lastName){
}
then in swift, you can directly pass in a regular swift string
setLastName("Montego");
the key is to define the variable with the asterisk immediately after the char in C like: const char*
source: https://developer.apple.com/swift/blog/?id=6
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With