这是c primer plus第11章的内容。第五版中文版p293。
fgets需要三个参数,第一个是读取的数据要存放的指针,第二个是允许读取的最大字节数,第三个是从哪里读取。课本上的例子是从终端输入,此时第三个参数写成stdin。
但是要从文件中读取没有例子,下面是从网上找来改编的,在dev下运行通过:
#include <stdio.h>
int main(int argc, char *argv[])
{
FILE *stream;
stream = fopen("a.txt", "r");
char name[81];
char *ptr;
ptr = fgets(name, 30, stream);
printf("%s/n", name);
getchar();
return 0;
}
注意fopen的第二个参数必须是r而不能是w,否则从文件读取在终端显示的数据将不正确,a.txt这个文件中的内容将全部被删。这是为啥呢,现在还不知道。