我試圖使用freopen()
打印到兩個不同的文件。 有可能嗎?試圖使用freopen但兩個不同的文件
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *docDir = [paths objectAtIndex: 0];
NSString *docFile = [docDir stringByAppendingPathComponent: @"sensordata.txt"];
NSFileManager *fileManager = [NSFileManager defaultManager];
if (![fileManager fileExistsAtPath:docDir])
{
[fileManager createFileAtPath:docFile contents:nil
attributes:nil];
}
freopen([docFile cStringUsingEncoding:NSASCIIStringEncoding],"a+",stderr);
NSLog(@"GyroData: %f %f %f ",gyroData.rotationRate.x, gyroData.rotationRate.y, gyroData.rotationRate.z);
NSLog(@"DeviceMotion: %f ",magnitude);
第二個NSLog(DeviceMotion ...)應該保存在另一個文件中。
任何想法? 謝謝
你的問題不清楚。你預期會發生什麼?實際發生了什麼,它與你期望的有什麼不同?如果你期望寫給'stderr'的文件同時出現在兩個文件中,那麼,不,這是不可能的。 –
如果你想做到這一點,然後轉儲'NSLog()'並寫自己的日誌框架或使用現有的,如CocoaLumberjack:https://github.com/CocoaLumberjack/CocoaLumberjack – trojanfoe