18.14不能使用非标准、依赖系统的函数,程序需要兼容ANSI!

你很不走运。要么你误解了要求, 要么这不可能做到。ANSI/ISO C 标准没有定义做这些事的方法; 它是个语言的标准, 不是操作系统的标准。国际标准POSIX (IEEE 1003.1, ISO/IEC 9945-1) 倒是定义了许多这方面的方法, 而许多系统(不只是Unix) 都有兼容POSIX 的编程接口。

可以做到, 也是可取的做法是使程序的大部分兼容ANSI, 将依赖系统的功能集中到少数的例程和文件中。这些例程或文件可以大量使用#ifdef 或针对每一个移植的系统重写。