MonoはMono.Posixアセンブリを使うとPOSIXの関数を呼び出せるようだ。 そこでCのstdioを使ってcat(1) を実装してみた。 https://github.com/gfx/mono-cat // $ mcs -r:Mono.Posix Cat.cs using System; using Mono.Unix.Native; public class Cat { public static void Main(string[] argv) { foreach (var file in argv) { var fp = Stdlib.fopen(file, "r"); Int32 c; while ( (c = Stdlib.fgetc(fp)) != Stdlib.EOF ) { Stdlib.putchar(c); } Stdlib.fclose(fp); } } }