C语言笔记--cin.fail()

cin.fail()


cin.fail判断流操作是否失败.如果输入失败就会返回true.

int a;
cin>>a;
if(cin.fail())

{

    cout<<"输入非整数"<
}

else

{

..
}

如果要输入一个整数,你输入的不是整数(是字母等)





输入一个字符串int 1

0,怎么把int 和10分别提取出来呢?


你是要解析什么要样的字符串.如果是固定格式的可用sscanf().
char* str = "int 10";
char a[4] = {0,};
int b = 0;
if( sscanf(str,"%s %d", a, &b) == 2 )
{
cout << a << b;
}
如果是一串字符串,知道固定分隔符,可用strtok.把它解析成子字符串.再对每个子符进行解析
char s[]= "int 10"; 
char *d= " ";
char *p; 

vector v;
p=strtok(s,d);
while(p) 
v.push_back(p);
p=strtok(NULL,d);
}






你可能感兴趣的:(从C开始)