我使用以下命令创建NSString:
NSString *myString = [[NSString alloc] initWithBytes:someBuffer length:sizeof(someBuffer) encoding:NSASCIIStringEncoding];我使用NSLog输出myString,它显示"Hello“。
如果是这样的话,为什么会失败呢?
NSString *helloString = @"Hello"
BOOL check = [myString isEqualToString:helloString];发布于 2010-08-28 03:44:51
myString变量实际上是一个长度为64的NSString;其他字符可能是未定义的。你最想做的事情是:
NSString *myString = [[NSString alloc] initWithBytes:someBuffer length:strlen(someBuffer) encoding:NSASCIIStringEncoding];这假设缓冲区中存在一个以null结尾的C字符串。
发布于 2010-08-28 03:43:22
在调用NSLog()时,可能有一些尾随字符是看不到的。例如:空格、换行符甚至“\0”字符。
检查myString length是否返回5。
https://stackoverflow.com/questions/3587585
复制相似问题