如何确定用户输入是字符串中的数字

时间:2016-07-12 02:59:20

标签: c++

如果我有s1255678a并且我使用 (Isalpha [0]!= 0&& isalpha [8]!= 0) 返回1 //确定数组0,数组8是字母表 如何使用类似的代码来确定从数组1到数组7是否为数字

3 个答案:

答案 0 :(得分:1)

我建议你使用正则表达式。 这应该指向正确的方向。 http://www.cplusplus.com/reference/regex/

我认为这样的事情应该这样做。

string input("s1255678a");
regex pattern("[A-Za-z][0-9]{8}[A-Za-z]")
regex_match(input,pattern)

答案 1 :(得分:0)

使用此代码迭代整个字符串并检查它是否为数字:

for(int i = 1; i<=7 ;i++)
{
   if(isdigit[i]!=0)
       //doSomething
}

这里,str [i]!=&#39; \ 0&#39;检查字符串是否已完成。相反,如果只是想对1到7的数组索引进行检查,你可以这样做:

<input type="file">

答案 2 :(得分:0)

您可以使用isdigit()来检查字符串中的char是否为数字.Below程序就是一个例子 -

#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>
int main ()
{
   char str[]="This is you number right 123456789";
   int i=0,len = sizeof(str)/sizeof(str[0]);
   while(i<len){
   if (isdigit(str[i]))
   {
      printf ("%c\n",str[i]);
   }
   i++;
}
return 0;

}