如何检查我的字符串/字符数组是否以字母开头,后跟C中的10个数字? 例如。是A1234567890吗?有没有有用的功能?
答案 0 :(得分:4)
bool Test(const char* str)
{
return str && isalpha(str[0]) && strspn(str+1,"0123456789")==10 /*&& str[11]==0*/;
}
答案 1 :(得分:1)
int main()
{
char str[MAXSTR] = "A1234567890";
}
int isFormat(char str[MAXSTR])
{
int len = strlen(str);
int x=0, result=0;
if(str[x] >= 'A' && str[x] <= 'Z')
{
for (x=1; x<len; x++)
if(str[x] >= '0' && str[x] <= '9')
result = 1;
else
return 0;
}
return result;
}
您可以编写自己的功能来检查。这只是其中一个例子。您可以使用isalpha()
功能,但可能需要包含<ctype.h>
。 isalpha()
接收char
。
答案 2 :(得分:0)
您需要检查字符串的长度,然后检查第一个字符,最后检查以下10个字符:
int check_string(char *str)
{
if (str == NULL)
{
return 0;
}
if (strlen(str) < 11)
{
return 0;
}
if (!isalpha(str[0]))
{
return 0;
}
int i;
for (i = 1; i < 11; i++)
{
if (!isdigit(str[i]))
{
return 0;
}
}
return 1;
}