黑马程序员技术交流社区

标题: 怎么计算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 编辑
楼主提问的strlensizeof在C语言中是函数,分别是求取字符串的长度和占用的字节数。
而在OC中计算字符串的长度可以用一楼回答的方法,注意要区分函数方法两个概念,是两种解决问题不同的思想。
OC中字符串不论是纯英文、纯中文、还是中英文混合,用lenght计算长度每个字符都是1,这里要注意length是Property(属性)。
  1. <font face="宋体">@property(readonly) NSUInteger length</font>
复制代码
在OC中计算字符串的长度如:
  1. <font face="宋体">NSString *str5 = @"中国r";
  2. NSUInteger len5 = [str5 length];
  3. NSLog(@"len5 = %ld", len5); //这里每个中英文字符都占一个字符->长度为3</font>
复制代码

-- 个人拙见,如有不妥、错误之处,望见谅并纠正

作者: SSIrreplaceable    时间: 2016-6-22 08:23
C语言字符串用:strlen函数计算,sizeof计算字节
OC的字面字符串对象用: length属性得到长度




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2