使用NSString防止缓冲区溢出

时间:2013-07-23 02:51:09

标签: ios objective-c nsstring

我试图了解NSString类如何帮助防止Object ive C.中的缓冲区溢出问题。任何人都可以举例说明NSString类是如何阻止它的。

提前致谢 迪夫亚

1 个答案:

答案 0 :(得分:1)

下面的例子显示了溢出,因为在循环中每次继续增加,这意味着它超出了内存缓冲区限制,这就是它显示溢出的原因。

int count = 2147483647;
NSString *str = @"";
for (int i = 0; i < count; i++) {
    @try { 
        str = [str stringByAppendingString:@"\n"];//NSString stringWithFormat:@"%@%@", str , @"\n"
    }
    @catch (NSException *exceptions) {
        NSLog(@"end after %d loops (%@)", i, [exceptions description]);
    }
}

see this link to more