0

我有以下代码,想查看字符串“userFirstName”是否包含 char 数组中的任何字符。如果字符串我希望它要求用户重新输入他们的名字,然后检查新名称是否有无效字符等等。

char invalidCharacter[] = { '!', '@', '#', '$', '%', '^', '&', '*', '(', ')', '~', '`',             
    ';', ':', '+', '=', '-', '_', '*', '/', '.', '<', '>', '?', ',', '[', ']', '{', '}',
    '0', '1', '2', '3', '4', '5', '6', '7', '8', '9' };

cout << "Please enter your first name: " << endl;
cin >> userFirstName;`
4

1 回答 1

2

用来string::find_first_of做。

假设这userFirstName是一个string

size_t pos = userFirstName.find_first_of(invalidChars, 0, sizeof(invalidChars));
if (pos != string::npos) {
    // username contains an invalid character at index pos
}
于 2013-08-14T08:23:09.920 回答