Get 或 fgets 子例程
用途
从流中获取字符串。
库
标准 I/O 库 (libc.a)
语法
描述
get 子例程从标准输入流 stdin将字节读取到由 String 参数指向的数组中。 它将读取数据,直到达到换行符或文件结束条件为止。 如果换行符停止读取过程,那么 get 子例程将废弃换行符并使用空字符终止字符串。
fgets 子例程将 Stream 参数所指向的数据中的字节读取到 String 参数所指向的数组中。 fgets 子例程最多读取由 Number 参数指定的字节数减去 1 的数据,或者直到它读取换行符并将该字符传输到 String 参数,或者直到它迂到文件结束条件。 然后, fgets 子例程用空字符终止数据字符串。
首次成功运行 fgetc, fgets, fgetwc, fgetws, fread, fscanf, getc, getchar get 或 scanf 子例程使用返回先前调用 ungetc或 ungetwc 子例程未提供的数据的流来标记st_atime用于更新的字段。
参数
| 项 | 描述 |
|---|---|
| String | 指向字符串以接收字节。 |
| 流 | 指向打开文件的 FILE 结构。 |
| 编号 | 指定要读取的字节数的上限。 |
返回值
如果 get 或 fgets 子例程在不读取任何字节的情况下迂到文件末尾,那么它不会将任何字节传输到 String 参数并返回空指针。 如果发生读错误,那么 get 或 fgets 子例程将返回空指针并设置 errno 全局变量 (错误与 fgetc 子例程的错误相同)。 否则, get 或 fgets 子例程返回 String 参数的值。
注: 根据应用程序绑定到的库例程,此子例程可能返回 EINTR。 请参阅有关 SA_RESTART 值的 signal 子例程。