strspnを使用すると先頭から一致する文字列数を求めることができます。
以下にstrspnのCサンプルコードと実行例を記します。
strspnの書式を以下に記します。
#include <string.h>
size_t strspn(const char *s, const char *accept);
strspn.c (改行コードLF)
#include <stdio.h> #include <string.h> int main(void) { char *s1 = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"; char *s2 = "ABCDEFGHIJKLMNopqrstuvwxyz"; char *s3 = "ABCDEFGhijklmnopqrstuvwxyz"; printf("%d = strspn(%s, %s)\n", (int)strspn(s1, s2), s1, s2); printf("%d = strspn(%s, %s)\n", (int)strspn(s1, s3), s1, s3); return 0; }
コンパイルして実行した時の結果です。
先頭から一致する文字数が表示されているのが確認できます。
$ gcc strspn.c -o strspn $ ./strspn 14 = strspn(ABCDEFGHIJKLMNOPQRSTUVWXYZ, ABCDEFGHIJKLMNopqrstuvwxyz) 7 = strspn(ABCDEFGHIJKLMNOPQRSTUVWXYZ, ABCDEFGhijklmnopqrstuvwxyz)
以上、strspnのCサンプルコードでした。