我试图了解NSString类如何帮助防止Object ive C.中的缓冲区溢出问题。任何人都可以举例说明NSString类是如何阻止它的。
提前致谢 迪夫亚
答案 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]);
}
}