JiaHeng-DLUT
9/13/2019 - 7:47 AM

fgets()

函数原型

char* fgets(char* s, int n, FILE *stream);

参数

  • s : 字符型指针,指向存储读入数据的缓冲区的地址
  • n : 从流中读入 n - 1 个字符
  • stream : 指向读取的流

返回值

  1. n <= 0 时,返回 NULL
  2. n = 1 时,返回空串。
  3. 如果读入成功,则返回缓冲区的地址。
  4. 如果读入错误或遇到文件结尾(EOF),则返回 NULL

References

#include <cstdio>
#include <cstdlib>
using namespace std;

int main() {
	char s1[10];
	char* s2 = (char*)malloc(10 * sizeof(char));
	char* s3; // ❌,必须要分配空间后才能使用 fgets
	// 0123456789
	fgets(s1, 5, stdin);
	fgets(s2, 10, stdin);
	printf("%s\n", s1);	// { '0', '1', '2', '3', '\0' }
	printf("%s\n", s2);	// { '4', '5', '6', '7', '8', '9', '\0' }
	return 0;
}