Fortran I/O 通道采用的是单元号。底层 SunOS 操作系统不处理单元号,而是处理文件描述符。Fortran 运行时系统会不断变换,所以大多数 Fortran 程序没必要识别文件描述符。
许多 C 程序都使用一组称为标准 I/O(即 stdio)的子例程。有许多 Fortran I/O 函数也使用标准 I/O,而后者又使用操作系统 I/O 调用。下表列出了这些 I/O 系统的某些特性。
表 11–2 Fortran 与 C 之间的 I/O 比较
|
Fortran 单元 |
标准 I/O 文件指针 |
文件描述符 |
---|---|---|---|
文件打开 |
为读写打开 |
为读打开、为写打开、为读写打开,或者为追加打开;请参见 open(2) |
为读打开、为写打开或同时为读写打开 |
属性 |
已格式化或未格式化 |
始终未格式化,但可用格式解释例程进行读或写 |
始终未格式化 |
访问 |
直接或顺序 |
直接访问(如果物理文件的表示是直接访问),但总是可以按顺序读取 |
直接访问(如果物理文件的表示是直接访问),但总是可以按顺序读取 |
结构 |
记录 |
字节流 |
字节流 |
形式 |
0-2147483647 间的任意非负整数 |
指向用户地址空间中结构的指针 |
0-1023 间的整数 |