文字列の後方一致を確認するには?

解決


空-海  2006-12-23 17:47:23  No: 64065  IP: 192.*.*.*

先日お世話になった空-海と申します.
C言語で,文字列s1の最後に文字列s2が含まれているかといった,後方一致を確認したいのですがどのようにすればよいのでしょうか?
毎回初歩的な質問ですがご教授お願いします.

編集 削除
Blue  2006-12-23 17:56:35  No: 64066  IP: 192.*.*.*

全角と呼ばれる文字を扱っていなければ、strlenで文字列長を取得して、
最後の1文字を取得して比較すればいいでしょう。
(文字列を比較する場合はstrcmpで)

char s[] = "12345g";
int pos = strlen(s) - 1
if (pos >= 0 && s[pos] == 'g')
{
    // OK
}


char s[] = "123cm";
int pos = strlen(s) - strlen("cm") - 1;
if (pos >= 0 && strcmp(&s[pos], "cm") == 0)
{
    // OK
}

編集 削除
空-海  2006-12-23 20:52:37  No: 64067  IP: 192.*.*.*

>Blueさま

ありがとうございました.解決できました

編集 削除
空-海  2006-12-23 20:53:28  No: 64068  IP: 192.*.*.*

連続ですみません.チェックを付け忘れていました

編集 削除