char* fgets(char* s, int n, FILE *stream);
s
: 字符型指针,指向存储读入数据的缓冲区的地址n
: 从流中读入 n - 1
个字符stream
: 指向读取的流n <= 0
时,返回 NULL
。n = 1
时,返回空串。EOF
),则返回 NULL
。#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;
}