我目前正在使用 App Delegate 对 freopen() 的调用将 NSLog() 输出重定向到文件。我想限制日志文件的大小,但是这样做-
unsigned long long fs = 3000;
while ([fileAttributes fileSize] < fs) {
freopen([FILEPATH cStringUsingEncoding:NSASCIIStringEncoding], "a+", stderr);
}
导致应用程序在无限循环中卡住黑屏。有什么办法可以为stderr设置缓冲区大小,然后有一个循环,如果文件大小+缓冲区大小不超过文件大小,我只继续写入文件?