📅  最后修改于: 2023-12-03 14:41:11.098000             🧑  作者: Mango
在C编程语言中,fgets()是一个输入函数,它允许一个字符串在程序中被读取,直到一个制定的定界符被遇到为止,或者在读取最大数目的字符之后停止。fgets()函数可以从文件中读取一行,也可以从键盘输入读取一行。
char *fgets(char *str, int n, FILE *stream)
其中,
fgets()函数的一般用法可以概括为以下几个步骤:
下面是一个从文件中读取一行的例子:
#include <stdio.h>
#define MAX_LENGTH 256 // 缓冲区的最大长度
int main() {
char buffer[MAX_LENGTH]; // 定义一个缓冲区用于存储读取的字符
FILE *fp = fopen("test.txt", "r"); // 打开文件测试用例
if (fp == NULL) {
printf("Error: Open file failed.\n");
return -1;
}
while (fgets(buffer, MAX_LENGTH, fp)) { // 从文件中读取一行
printf("%s\n", buffer);
}
fclose(fp); // 关闭文件
return 0;
}
fgets()函数也可以从键盘输入读取一行,代码如下:
#include <stdio.h>
#define MAX_LENGTH 256 // 缓冲区的最大长度
int main() {
char buffer[MAX_LENGTH]; // 定义一个缓冲区用于存储读取的字符
printf("Please input a string:\n");
fgets(buffer, MAX_LENGTH, stdin); // 从键盘读取一行字符
printf("Your input is: %s", buffer);
return 0;
}
fgets()函数是C编程语言中一个非常有用的输入函数,可以从文件或键盘中读取字符串,并在缓冲区中存储这些数据以便进一步处理。与其他输入函数相比,fgets()函数更为安全,可以避免缓冲区溢出问题,但需要注意输入中的换行符和隐藏字符。因此,程序员在代码中应该多加使用fgets()函数,避免他们的代码被黑客探测并攻击。