Я создаю программу регистрации телефона, чтобы проверить, действительно ли введен номер телефона. Я пробовал много раз искать google и выяснил, как проверить длину телефонных номеров и начинается ли она с «04»; кажется, что нет ничего, чтобы проверить, может ли строка быть преобразована в целое без знака без ошибки. Мой текущий код:Как преобразовать строку в int в C++?
bool Is_Valid(string phone) {
if (phone.length() == 10 && phone.substr(0,2) == "04") {
return 1;
} else {
return 0;
}
}
Желаемый результат был бы, что если ввести в строку, длиной десять символов и пользователь начинает с «04», но строка имеет букву в нем, функция будет возвращать ложь , Аналогично, если символ введен в строку длиной десять символов, и она начиналась с «04», а также без букв, она вернула бы истину. Спасибо.
Вам нужно пойти и получить хорошую книгу на C++. –
У меня есть книга C++ для чайников, это хорошо или плохо? –
Как насчет strtol? Если endptr не указывает на конец строки после этого, то не вся строка будет числом. Вам также нужно проверить, что возвращаемое целое число не является отрицательным, потому что это означает, что на лицевой стороне был знак минуса. –