黑马程序员技术交流社区
标题: 怎么计算oc字符串的长度 [打印本页]
作者: dayuanzhang 时间: 2016-6-15 12:05
标题: 怎么计算oc字符串的长度
怎么计算oc字符串的长度 strlen sizeof ?
作者: 1871037345 时间: 2016-6-15 23:39
本帖最后由 1871037345 于 2016-6-16 00:09 编辑
#import <Foundation/Foundation.h>
int main(int argc, const char * argv[]) {
@autoreleasepool {
NSString *str = @"zhangsanfeng";
long length = [str length]; NSLog(@"length = %ld",length);
} return 0;
}
作者: 史蒂芬库里 时间: 2016-6-16 20:51
oc中计算字符串长度的方法是调用NSString类的对象方法 length 具体 NSUInteger len = [str length];
其中NSUInteger 是一个unsigned long 类型 ,打印用%lu. 可以用(int)强转. str是字符串名字.
作者: dongkuan 时间: 2016-6-16 22:12
#import <string.h>
strlen()
作者: 1871037345 时间: 2016-6-17 18:02
我再多一句,字符数组 、字符串 和 字符串对象 三者本质还是有区别的。
作者: M.W 时间: 2016-6-19 10:20
本帖最后由 M.W 于 2016-6-19 10:23 编辑
楼主提问的strlen和sizeof在C语言中是函数,分别是求取字符串的长度和占用的字节数。
而在OC中计算字符串的长度可以用一楼回答的方法,注意要区分函数和方法两个概念,是两种解决问题不同的思想。
OC中字符串不论是纯英文、纯中文、还是中英文混合,用lenght计算长度每个字符都是1,这里要注意length是Property(属性)。
- <font face="宋体">@property(readonly) NSUInteger length</font>
复制代码 在OC中计算字符串的长度如:
- <font face="宋体">NSString *str5 = @"中国r";
- NSUInteger len5 = [str5 length];
- NSLog(@"len5 = %ld", len5); //这里每个中英文字符都占一个字符->长度为3</font>
复制代码
-- 个人拙见,如有不妥、错误之处,望见谅并纠正
作者: SSIrreplaceable 时间: 2016-6-22 08:23
C语言字符串用:strlen函数计算,sizeof计算字节
OC的字面字符串对象用: length属性得到长度
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) |
黑马程序员IT技术论坛 X3.2 |