fgets函数中的一个例子
从m.c文件中读取一个含20个字符的字符串。#include<stdio.h>
main()
{
FILE*fp; char str[21];
if((fp=fopen("m.c","rt"))==NULL)
{
printf("Cannot open file strike any key exit!");
exit(0);
}
fgets(str,20,fp);
printf(%s",str);
fclose(fp);
}摘自人民邮电出版社出版的《全国计算机登记考试教程二级c语言》第215页
我觉得 fgets(str,20,fp)中20应为21,此书中是这样说此函数功能的:此函数功能是从fp所指文件中读入n-1个字符放入str为起始地址的空间内;并在尾端自动加一个结束标志’\0'。如果说此处是20,那么不是只读出19个字符了吗?
本人初学c语言,报了4月份的等级考试,有很多不懂的地方,我将在此论坛讨教,请各位多多指教,谢谢!