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