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

解決


空-海  2006-12-24 02:47:23  No: 64065

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


Blue  2006-12-24 02:56:35  No: 64066

全角と呼ばれる文字を扱っていなければ、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-24 05:52:37  No: 64067

>Blueさま

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


空-海  2006-12-24 05:53:28  No: 64068

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


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加