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サンプルコードでした。