Cocoa API解説(macOS/iOS)

iOS , Mac アプリケーション開発のために使われる主要フレームワークの日本語情報です。

目次

standardOutput

タスクの標準出力先を返します

解説

タスクの標準出力先を返します。
返されるオブジェクトはNSFileHandleかNSPipeのインスタンスです。
ファイルに出力する場合はNSFileHandle、アプリケーションで使いたい場合はNSPipeを使います。

返り値

( id )

標準の出力ファイル

引数

クラス

NSTask

Instance Methods

使用可能

10.0

参照

- setStandardOutput:

例文

#import "MyObject.h"

@implementation MyObject

- (IBAction)myAction:(id)sender
{
NSTask *task = [[NSTask alloc] init];//Task=UNIXコマンド実行
NSPipe *pError = [NSPipe pipe];//エラー出力先
NSPipe *pOutput = [NSPipe pipe];//標準出力先

[task setLaunchPath:@"/usr/bin/cal"];//起動するシステムコマンド calendar
[task setArguments:[NSArray arrayWithObjects:@" 8 2002",nil]];//渡す引数
//標準出力先
[task setStandardOutput:pOutput];
//エラー出力先
[task setStandardError : pError];

NSLog([[task standardOutput] className]);

//実行
[task launch];
//終了まで待つ
[task waitUntilExit];
{
//エラーのデータ
NSData *dataError = [[pError fileHandleForReading] availableData];
//標準出力データ
NSData *dataOutput = [[pOutput fileHandleForReading] availableData];
//エラー出力
NSLog([NSString stringWithFormat:@"error-%s",[dataError bytes]]);
//標準出力
NSLog([[NSString alloc] initWithData:dataOutput
                                encoding:NSShiftJISStringEncoding
                                ]);
        }
}

@end