玩转Linux系统:学习fgets的使用(fgetslinux)
Linux系统拥有强大的内置功能,是一个理想的学习平台。要玩转Linux系统,必须学会使用它的函数,其中fgets是最重要的函数之一。
fgets函数是 C 语言中用来从文件中读取一行内容的函数,其原型为:
char *fgets ( char *str, int num, FILE *stream );
字符串 str 为一个字符数组,这里是指向存储读取结果的字符串的指针。num 是要读取的字符的最大数目,stream 为要从中读取的文件指针。这个函数将从文件中读取 num-1 个字符 (或遇到换行符 \n 时停止) 并将其存储到 str 中。最后一个字符储存为“\0”,表示字符串结束标志,因此实际读取的字符数目不能超过 num-1 个。
下面对程序示例:
#include
#include
int main () {
char name[50]; printf("请输入姓名:");
fgets(name, 50, stdin); //新增代码,将换行符替换为字符串结束符
name[strlen(name)-1]='\0'; printf("你的姓名是:%s\n", name);
return 0;
}
我们来详细解释一下代码的作用:首先定义一个字符数组 name 用来存储输入的字符。然后调用 fgets 函数从标准输入(stdin)中读取用户输入的字符,最后我们将换行符替换为字符串结束符,用来告知 fgets 函数读取结束。最后调用 printf 函数输出从用户处读取的字符,输出结果如下:
你的姓名是:张三
以上就是 fget 函数的简单用法。另外,fget 函数对于重读当前行很方便,也可以用它来读取二进制内容。因此,要想掌握 Linux 的精髓,自然而然的,必须学习 fgets 函数的使用。