Отправка EOF в NSTask через NSPipe или NSFileHandle

У меня есть NSTask, который обрабатывает аргументы, переданные из стандартного ввода. Аргументы передаются через NSFileHandle,

Он работает нормально, но наш инструмент командной строки читает ввод из stdin, пока не получит символ EOF (нажав Ctrl+C).

Я не думаю, что смогу добавить символ EOF в строку ASCII, так что будет с вариантами? Любые отзывы приветствуются!

Заранее спасибо!

1 ответ

Решение

Призвание closeFile на пишущем конце трубы сигнализирует условие EOF:

NSPipe *inPipe = [NSPipe new];
[task setStandardInput:inPipe];

[[inPipe fileHandleForWriting] writeData:...];
// ...
[[inPipe fileHandleForWriting] closeFile];
Другие вопросы по тегам