文字列の構造(名前、姓、住所など)があります。
最初の文字列 (名前) に数字が含まれていないことを確認する必要があります。さまざまな方法を試してきましたが、無駄です。何か助けはありますか?:/
ところで、私はここで新しいです。大変助かりました。
isdigit
から機能を使用できます<ctype.h>
。
#include <ctype.h>
/* Return 1 if the name is valid, 0 otherwise. */
int check_surname(const char *name)
{
for (int i = 0; name[i] != '\0'; i++)
{
if (isdigit((unsigned char)name[i]))
{
return 0;
}
}
return 1;
}
C11 (n1570)、§ 7.4.1.5
isdigit
関数
このisdigit
関数は、任意の 10 進数文字 (5.2.1 で定義) をテストします。C11 (n1570)、§ 5.2.1 文字は
10 桁の 10 桁を設定します:
0 1 2 3 4 5 6 7 8 9
文字列に数字 (10 進数) 文字が含まれていないかどうかを確認するには、次のような関数を記述できます。
#include <ctype.h>
int has_numbers(const char *p)
{
while (*p) {
if (isdigit((unsigned char)*p)) {
return 1;
}
p++;
}
return 0;
}