Supprimer la Première et la Dernière lettre C++
Comment supprimer le premier et le dernier caractère de std::string, je fais déjà le code suivant.
Mais ce code ne supprime le dernier caractère
m_VirtualHostName = m_VirtualHostName.erase(m_VirtualHostName.size() - 1)
Comment faire pour supprimer le premier caractère aussi?
- Ce code va aller boom si la chaîne est vide.
- Ce type est m_VirtualHostName?
- donc, je dois valider tout d'abord, si VirtualHostName n'est pas vide.
- les chaînes de caractères.
Vous devez vous connecter pour publier un commentaire.
Eh bien, vous pourriez
effacer()
le premier caractère trop (à noter queerase()
modifie la chaîne):Mais dans ce cas, un moyen simple est de prendre une sous-chaîne:
Être prudent afin de valider que la chaîne a en fait au moins deux caractères de la première...
size()
retourne au moins 1.substr
semble plus propre dans le code qu'il va déclencher un surcroît d'allocation de mémoire (qui peut être ou ne pas être important). Aussi la première effacer pourrait être plus simple si a déclaré que:str.erase(str.end()-1); str.erase(str.begin());
Mon interpréteur BASIC côtelettes de début et de fin des citations avec
Bien sûr, je toujours attendre bien formé de style de BASE des chaînes, donc je vais montrer l'échec de la
assert
si ce n':assert(str->front() == '"' && str->back() == '"');
Juste mes deux cents.