strstr()始终返回null

时间:2015-12-06 15:55:25

标签: c string fgets strstr

我正在编写程序,我希望在字符串中找到匹配项。我使用strstr()函数来完成工作,但它有一个奇怪的行为。 我使用fgets()来读取字符串然后使用strstr()来查找匹配项,但如果字符串与匹配项不完全相同,则它始终返回null。

例如:

>string to search match in : This is testing environment
>match  : test
>returns : (null)

>string to search match in : test
>match  : test
>returns : test

为什么它会以这种方式运行,我可以修复此行为吗?

1 个答案:

答案 0 :(得分:1)

使用以下方法

char *p = strchr( match, '\n' );
if ( p ) *p = '\0';

p = strstr( source, match );