fgets返回的是什么?

金来 2003-08-29 06:24:11
char *p,*p_BUF;
FILE *p_f=fopen("./test.c",'r');
p=fgets(p_BUF,NUM,p_f);
返回的p是什么?
fgets()功能是读取文件中的一行字符,
我想得到下一行应该怎么办?

如果以上我说的不对,请指出.
...全文
1003 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
zdy_8212 2003-09-01
  • 打赏
  • 举报
回复
fgets返回的应该是捕获的STR的首地址
lucifier 2003-09-01
  • 打赏
  • 举报
回复
fgets的作用是从指定的文件中读入一个字符串.如:
fgets(str,n,fp);
n为要求得到的字符,但只从fp指向的文件输入n-1个字符,然后在最后加一个'\0'字符,因此得到的字符串共有n个字符.把它们放到字符数组str中.如果在读完n-1个字符之前遇到换行符或eof,读入结束.fgets函数返回值为str的首地址.
金来 2003-09-01
  • 打赏
  • 举报
回复
高手帮忙则个
金来 2003-08-29
  • 打赏
  • 举报
回复
我现在的麻烦是要扫描的文件是LOG文件,我必须在出现ERROR这样的字符串的那行输出,
然后在下一行加上个断点,等下一次要扫描的时候就从断点开始;
fancy123 2003-08-29
  • 打赏
  • 举报
回复
while(fgets(p_BUF,NUM,p_f)!=NULL)
{
//your code add here.
}
可以连续读文件,当然可以找到下一行了。

fgets返回字符串的地址,如果文件读完或出错就返回NULL。可用feof,ferror来确定。
金来 2003-08-29
  • 打赏
  • 举报
回复
......那还不如直接p=p_BUF,
纠正一下,char *p_BUF;好像不对,char p_BUF[NUM];
那我想得到下一行的字符串应该怎么办?
POLOM 2003-08-29
  • 打赏
  • 举报
回复
Return Value

On success fgets returns the string pointed to by s; it returns NULL on end-of-file or error.

p就是p_BUF的地址

24,854

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 工具平台和程序库
社区管理员
  • 工具平台和程序库社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧