Question

I have an NSTask which processes arguments passed from stdin. The arguments are passed via NSFileHandle.

It's working fine, but our command line tool reads input from stdin until it receives the EOF symbol (by pressing Ctrl+C).

I don't think I can add the EOF symbol to an ASCII string, so what would be the options? Any feedback appreciated!

Thanks in advance!

Was it helpful?

Solution

Calling closeFile on the writing end of the pipe signals the EOF condition:

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

[[inPipe fileHandleForWriting] writeData:...];
// ...
[[inPipe fileHandleForWriting] closeFile];
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top