Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

nsstring and const char* conversion

Tags:

iphone

i try to convert nsstring to const char*.

1- i add a nsstring and an integer together
2- then i convert this new nsstring to const char*
3- i have an object and i attribute this new nsstring as my object's name.
4- i use this object in another function

NSString* firstName = [NSString stringWithFormat: @"Name%d", 1];
const char* secondName = [firstName cString];
myobject->setName(secondName);

problem : A
1- secondName is null when i use my object in my function.
2- but if i replace firstName by : firstName = "Name1";
3- it works

problem B
1- if i replace const char* secondName = [firstName cString];
by const char* secondName = [macString UTF8String];
2- even if i have firstName = "Name1";
3- this is not working !!

any idea ??

thank you

:=)

like image 217
user472171 Avatar asked Dec 06 '10 13:12

user472171


2 Answers

Use cStringUsingEncoding from the NSString class:

NSString *myString = @"Hello";
const char *cString = [myString cStringUsingEncoding:NSASCIIStringEncoding];
like image 120
Mike Burba Avatar answered Nov 03 '22 17:11

Mike Burba


const char* are constant, you can't assign them in anyway !

Try passing (const char*)[firstName UTF8String] to your method

like image 16
VdesmedT Avatar answered Nov 03 '22 17:11

VdesmedT