文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>字符串模式识别:请使用C语言实现 strstr

字符串模式识别:请使用C语言实现 strstr

时间:2010-06-08  来源:sinodragon21

String Pattern Matching: Write a function that checks for a given pattern at the end of a given string

In other words, Write a function, a variant of strstr that takes in 2 strings str1 and str2 and returns true if str2 occurs at the end of the string str1, and false otherwise.

bool str_str_end(char * str1, char * str2)
{
// Store the base pointers of both strings
char* beginStr1 = str1;
char* beingStr2 = str2;

// Move to the end of the strings
while(*str1++);

while(*str2++);

for(; *str1 == *str2; str1--, Str2--)
{
If( str2 == beginStr2
|| str1 == beingStr1)
{
break;
}
}
return If(*str1 == *str2
&& str2 == beginStr2
&& *str1 != 0);
}

Save the base addresses of the strings and then traverse to the end of the stings. To check if the string str2 occurs at the end of the string str1, start comparing characters from the end of the strings and move backwards. The function returns true when

  1. All the characters in str1 match all the characters in str2 from the end.
  2. The pointer str2 reaches back at the beginning of the string, which means there is nothing more to be compared
  3. The strings are not empty.

The above conditions are required so that the loops do not run in an infinite loop.

相关阅读 更多 +
排行榜 更多 +
爱是小事最新版

爱是小事最新版

休闲益智 下载
悬案2刹那惊颤游戏

悬案2刹那惊颤游戏

冒险解谜 下载
几何飞行内购修改版

几何飞行内购修改版

飞行射击 下载