こういう人向け
- Objective-cで空白、改行をふくむ標準入力をストレートに配列で収納して取得したい人
- そもそもObjective-cで標準入力はじめてやる人
参考サイト
コーディング
#import <Foundation/Foundation.h>
int main(int argc, const char * argv[]) {
@autoreleasepool {
// 標準入力を取得する
NSData *stdinData = [[NSFileHandle fileHandleWithStandardInput] availableData];
NSString *stdinString = [[NSString alloc] initWithData:stdinData encoding:NSUTF8StringEncoding];
//標準入力を半角スペース,改行区切りで配列に格納する
NSArray *stdinArray = [stdinString componentsSeparatedByCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]];
//配列から空白を削除して、データのみを配列に整理
NSMutableArray *mStdinArray = [stdinArray mutableCopy];
[mStdinArray removeObject:@""];
[mStdinArray removeObject:@" "];
// TODO: 問題を解く
// 解答を半角スペース区切りで文字列とする
NSString *stdoutString = [mStdinArray componentsJoinedByString:@" "];
// 解答を標準出力する
NSFileHandle *fileHandle = [NSFileHandle fileHandleWithStandardOutput];
[fileHandle writeData:[stdoutString dataUsingEncoding:NSUTF8StringEncoding]];
[fileHandle writeData:[@"\n" dataUsingEncoding:NSUTF8StringEncoding]];
[fileHandle closeFile];
}
return 0;
}
0 件のコメント:
コメントを投稿