Get 或 fgets 子例程

用途

从流中获取字符串。

标准 I/O 库 (libc.a)

语法

#include <stdio.h>
char *gets ( String)
char *String;

char *fgets (String,  Number,  Stream)
char *String;
int Number;
FILE *Stream;

描述

get 子例程从标准输入流 stdin将字节读取到由 String 参数指向的数组中。 它将读取数据,直到达到换行符或文件结束条件为止。 如果换行符停止读取过程,那么 get 子例程将废弃换行符并使用空字符终止字符串。

fgets 子例程将 Stream 参数所指向的数据中的字节读取到 String 参数所指向的数组中。 fgets 子例程最多读取由 Number 参数指定的字节数减去 1 的数据,或者直到它读取换行符并将该字符传输到 String 参数,或者直到它迂到文件结束条件。 然后, fgets 子例程用空字符终止数据字符串。

首次成功运行 fgetcfgetsfgetwcfgetwsfreadfscanfgetcgetchar getscanf 子例程使用返回先前调用 ungetcungetwc 子例程未提供的数据的流来标记st_atime用于更新的字段。

参数

描述
String 指向字符串以接收字节。
指向打开文件的 FILE 结构。
编号 指定要读取的字节数的上限。

返回值

如果 getfgets 子例程在不读取任何字节的情况下迂到文件末尾,那么它不会将任何字节传输到 String 参数并返回空指针。 如果发生读错误,那么 getfgets 子例程将返回空指针并设置 errno 全局变量 (错误与 fgetc 子例程的错误相同)。 否则, getfgets 子例程返回 String 参数的值。

注: 根据应用程序绑定到的库例程,此子例程可能返回 EINTR。 请参阅有关 SA_RESTART 值的 signal 子例程。