C言語のfgets
#include <stdio.h>
char * fgets( char *row , int len , FILE *fp );
■戻り値:
ファイルポインタfpから1行、またはlenバイト読み込んでその先頭アドレスを返す。
全行を読み込んだ場合、又はエラー時にNULL(\0)を返す。
注意事項
本関数fgetsは読み込みバイト数がファイルサイズに達するとNULLを返すが、エラー時もNULLを返すので区別が付かない。このことから一般的にはエラー判定は行わずNULLの返却を以って全行読み込んだものとしている。これは、もしファイルに障害があって読み込み不能であった場合、ファイルオープン時にエラー検出可能であるからだと言われている。
確実に判別したい場合には、feofやferrorを使用すれば判別できる。
使い方
int main(void)
{
FILE *rfp;
char buf[2048];
char *look;
char find[1024] = "root";
if *1 == NULL ) {
fprintf(stderr,"ERROR");
}
while( fgets(buf,BUF,rfp) != NULL ) {
if*2 != NULL ) {
printf("%s",look);
}
}
}