strstrについて

文字列1から文字列2を検索する

【書式】
#include <string.h>
char *strstr(const char *s1, const char *s2);

【説明】
文字列 s1 の先頭から文字列 s2 を探し、見つかったときにはその位置をポインタで返却し、見つからなかったときにはNULLを返却します。

【引数】
const char *s1 : 検索対象文字列
const char *s2 : 検索文字列

【戻り値】
見つかったとき     : 一致文字のアドレス
見つからなかったとき : NULL

なので使用するときには

strstrの戻り値を入れるための char *lookを準備

あとif文で検知できたかできなかったかを確認するための

NULLを準備する。

 

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);
}
}
}

*1:rfp = fopen("/etc/passwd","r"

*2: look = strstr(buf,find