0

文字列の構造(名前、姓、住所など)があります。

最初の文字列 (名前) に数字が含まれていないことを確認する必要があります。さまざまな方法を試してきましたが、無駄です。何か助けはありますか?:/

ところで、私はここで新しいです。大変助かりました。

4

2 に答える 2

2

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.5isdigit関数
このisdigit関数は、任意の 10 進数文字 (5.2.1 で定義) をテストします。

C11 (n1570)、§ 5.2.1 文字は
10 桁の 10 桁を設定します:
0 1 2 3 4 5 6 7 8 9

于 2013-01-04T17:09:49.910 に答える
0

文字列に数字 (10 進数) 文字が含まれていないかどうかを確認するには、次のような関数を記述できます。

#include <ctype.h>

int has_numbers(const char *p)
{
    while (*p) {
        if (isdigit((unsigned char)*p)) {
            return 1;
        }
        p++;
    }
    return 0;
}
于 2013-01-04T17:11:28.813 に答える