«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Как проверить, представляет ли строка C++ целое число?

Как проверить, представляет ли строка C++ целое число?

Опубликовано 12 ноября 2024 г.
Просматривать:631

How to Check If a C   String Represents an Integer?

Проверка того, является ли строка C целым числом

В определенных ситуациях, например при обработке пользовательского ввода, может возникнуть необходимость различать строки, представляющие целые числа, и те, которые этого не делают. К счастью, в C есть несколько способов решить эту задачу.

Один из подходов — использовать функцию C strtol, которая преобразует строковое представление целого числа в целочисленное значение. Чтобы использовать strtol, вы можете написать простую функцию, которая инкапсулирует процесс преобразования:

inline bool isInteger(const std::string &s) {
  if (s.empty() || ((!isdigit(s[0])) && (s[0] != '-') && (s[0] != ' '))) return false;

  char *p;
  strtol(s.c_str(), &p, 10);

  return (*p == 0);
}
  • Обзор: функция проверяет, представляет ли предоставленная строка s целое число.
  • Пустые строки: сначала проверяется, является ли строка пуста.
  • Ведущие символы: он также проверяет наличие начальных нецифровых символов, таких как ' ' или '-', и возвращает false, если они отсутствуют (что указывает на нецифровые символы). -integer).
  • strtol Conversion: функция использует функцию strtol для выполнения преобразования. Если strtol встречает нецифровой символ, он присваивает адрес этого символа указателю p.
  • Оценка результата: Если p не указывает на конец строки (представленный символ '\0'), это означает, что strtol встретил нецифровой символ. В этом случае функция возвращает false, указывая, что s не является целым числом.

Эта функция обеспечивает надежный способ определить, может ли данная строка быть проанализирована как целое число. Включив его в свой код, вы сможете соответствующим образом обрабатывать строки, представляющие целые и нецелые числа.

Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3