我有个问题。
如何检查输入字符串是否包含任何数字?
程序:
>>>; 你叫什么名字?
>>>; KAM5IL
如果有像5这样的数字,程序会一直问你输入的字符串是否正确,而没有任何数字
这是正确的字符串
>>>; Kamil
std::any_of
检查谓词是否为在[first,last)范围内的至少一个元素
返回true
。
std::string name = "hel3lo";
std::cout << std::any_of( name.begin(), name.end(), ::isdigit); // print true since name has one number in it;
#include <iostream>
#include <string>
using namespace std;
int main()
{
bool flag;
string name;
do {
flag = false;
cout << "Whats your name \n";
getline(cin, name);
for (int i = 0; i<name.length(); i++)
{
if (isdigit(name[i]))
{
cout << "contaiing digit : " << name[i] << "\n ";
flag = true;
}
}
cout << endl;
} while (flag == true);
cout << "name : " << name << endl;
system("pause");
return 0;
}