したがって、このデータベースでは、名前のみの文字などの特定の制限が必要です。
しかし、たとえば scanf("%s, c.name) を使用すると、最初のスペースまでしか読み取れないため、Marie Claire のように 2 つの名前を追加する必要がある場合は、scanf を使用できません。
文字列に数字が含まれているかどうかを確認する方法がありますが(提供されます)、fgets()に文字のみを受け入れるようにできるかどうか疑問に思っていました。私が試したことも提供しますが、この方法を使用すると、入力を受け付けず、スキップするだけです。
printf ("\nPlease enter Name:\n");
while (fgets (c.name, sizeof (c.name), stdin) && cCheck(c.name,100) == FALSE);
{
}
数字をチェックする方法[booleanは私の側からtypedefで作成されます]
boolean cCheck(char *test, int max)
{
int x;
for (x =0; x<max; x++)
{
if (isdigit(test[x]))
{
return FALSE;
}
if (x==max)
{
return TRUE;
}
x++;
}
return TRUE;
}