我有一個C函數打印到標準輸出使用fprintf
,我試圖在UIAlertView
顯示標準輸出的內容。我的代碼如下:Objective C打印標準輸出到UIAlertView
NSFileHandle *stdoutFileHandle = [NSFileHandle fileHandleWithStandardOutput];
NSData *stdoutData = [stdoutFileHandle availableData];
NSString *stdoutString = [[NSString alloc] initWithData:stdoutData encoding:NSASCIIStringEncoding];
UIAlertView *stdoutAlert = [[UIAlertView alloc] initWithTitle:@"STDOUT OUTPUT" message:stdoutString delegate:self cancelButtonTitle:@"OK" otherButtonTitles:nil];
[stdoutAlert show];
我在運行我的代碼時遇到以下錯誤。
終止應用程序由於未捕獲的異常 'NSFileHandleOperationException',原因: '[NSConcreteFileHandle availableData]:錯誤的文件描述符'
我得到一個相當於錯誤,當我與[stdoutFileHandle readDataToEndOfFile]
取代[stdoutFileHandle availableData]
。
你真正需要做的是使用'select'和一個UNIX文件描述符。傑弗瑞 –