0

在我的项目中,如果我这样做

char *string =@"hello";

它工作正常。但是当我在 a 中输入一些内容UITextField并将其分配给 时char,它没有显示正确的值。

即使我声明

 NSString *string ;
 self.stringVariable = mobileNumberTextField.text;
 char * mobile = string;
 char *c[]= {Enc,Mac,Mobile};
4

2 回答 2

1

尝试使用转换:

当您从文本字段获取字符串值到您的字符时:

const char *myCharString = [your_textField.text UTF8String];

并根据需要使用该字符。

反之亦然,当您想将该字符显示回文本字段时:

[your_textField setText:[NSString stringWithUTF8String:myCharString]];

就这样

于 2012-08-16T11:59:16.480 回答
0

NSString 是一个 Objective-C 对象,而 char 指针只是一个普通的 C 指针类型。您不能互换使用它们,否则您会遇到运行时错误(很可能是段错误)。您必须从 NSString 创建一个 char 指针(反之亦然);

const char *str = "Something as a C string";
NSString *nsStr = [NSString stringWithCStrint:str encoding:NSUTF8StringEncoding]; // or ASCII
于 2012-08-16T12:07:13.437 回答