2011-06-21 162 views
18

我有一个字符串,我想将它转换为Const Char。 我试过,但它不工作将NSString转换为const char

NSString *str4 = [NSString stringWithUTF8String:character]; 

回答

42

做这样看看:

NSString *strSQL = [[NSString alloc]init]; 

然后东西你* STRSQL

那么这样的说法:

const char *bar = [strSQL UTF8String]; 
+0

它工作正常吗? – Christina

+0

是的它工作正常,但我发现它的另一种选择sqlite3_bind_text();但仍然存在一个问题,它与字符串f9一起工作,但会在INTEGER Values中产生问题。 – Aadil

+0

好高兴听到我的评论工作,,,干杯 – Christina

2
NSString *myString = @"Hello"; 

const char *cString = [myString cStringUsingEncoding:NSASCIIStringEncoding]; 

const char * cstr2 = [ myString UTF8String ]; 
+0

什么是这两种方法之间的区别?在文档中,使用'NSASCIIStringEncoding'进行转换时提到,*如果接收器不能无损地转换为编码*,则返回NULL ... –

0

您应该使用cStringUsingEncoding:方法
这个方法here