文字列 b が文字列 a のサフィックスかどうかを確認したい。私はこれまでにこれを試しました:
char a[20], b[20];
char *p;
gets(a);
gets(b);
p = strstr(a,b);
while(p != NULL)
{
if(p + strlen(b) == '\0')
break;
p = strstr(p+1, b);
}
デバッガーを開いて、プログラムがこの行に到達したときに次のことを確認しました。
if(p + strlen(b) == '\0')
p + strlen(b) は \0 ではなく単なる \ であるため、true と検証されることはありません。
p が指しているものの最後に \0 を追加するにはどうすればよいですか?