c++判断一个字符串是否是数字的一个有关问题

c++判断一个字符串是否是数字的一个问题
c++判断一个字符串是否是数字的一个问题
C/C++ code

char buff[100];
strcpy(buff,"我是大明星!";
if(isdigit((char)buff[0])!=0)
   cout<<"非数字"<<endl;



这样会报错,因为中文的话单个字符会大于char的255,不知道各位有什么更好的办法判断此串是否为数字呢?

------解决方案--------------------
char buff[100];
strcpy(buff,"我是大明星!";
if(isdigit((char)buff[0])!=0)
cout<<"非数字"<<endl;

//---------------------------------------
int isdigit(char* pstr)
{
if(pstr)
{
string numstr(pstr);
if(string::nops == numstr.find_first_not_of("0123456789"))
{
//没有找到非数字字符
return (1); //因为你和0判断,所以我返回1
}
}
return (0);
}