2013-08-14 3 views
0

J'ai le code suivant et je souhaite voir si la chaîne 'userFirstName' contient l'un des caractères du tableau char. Si la chaîne le souhaite, je demande à l'utilisateur de saisir à nouveau son prénom, puis de vérifier le nouveau nom pour les caractères non valides, etc.Rechercher si certains caractères sont présents dans une chaîne

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

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

Répondre

2

Utilisez string::find_first_of pour le faire.

En supposant que userFirstName est un string:

size_t pos = userFirstName.find_first_of(invalidChars, 0, sizeof(invalidChars)); 
if (pos != string::npos) { 
    // username contains an invalid character at index pos 
} 
Questions connexes