Форум программистов, компьютерный форум CyberForum.ru

Проверка символов в строке - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 17, средняя оценка - 4.59
half-node
21 / 18 / 3
Регистрация: 12.08.2010
Сообщений: 206
20.08.2010, 23:58     Проверка символов в строке #1
Привет! Подскажите, пожалуйста, какой функцией можно проверить массив char на символы?
Я имею в виду: мне нужно выбрать из введенных пользователем символов только цифры. Я не знаю какой функцией это можно сделать.
Очень прошу не пишите решение Мне самому край как интересно...
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.08.2010, 23:58     Проверка символов в строке
Посмотрите здесь:

Проверка наличия символов в строке C++
C++ Дана строка символов, пользователь вводит комбинацию символов проверить сколько раз встечается эта комбинация в строке.
C++ Проверка введенных символов
C++ Найти количество символов всех строк файла и количество символов в определенной строке
В строке символов установить пробелы вместо символов,номера позиций которых при делении на 6 дают в остатке 3 C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
neske
1419 / 786 / 55
Регистрация: 26.03.2010
Сообщений: 2,694
21.08.2010, 00:01     Проверка символов в строке #2
Можновоспользоваться функцией isdigit.
half-node
21 / 18 / 3
Регистрация: 12.08.2010
Сообщений: 206
21.08.2010, 00:03  [ТС]     Проверка символов в строке #3
Цитата Сообщение от neske Посмотреть сообщение
Можновоспользоваться функцией isdigit.
Корректировка: кроме цифр нужно будет выцепить еще точку. Посему Вами предложенная функция, увы не подходит.
neske
1419 / 786 / 55
Регистрация: 26.03.2010
Сообщений: 2,694
21.08.2010, 00:03     Проверка символов в строке #4
Воспользоваться алгоритмом std::find_if, но как я помню, STL вы еще не трогали
alex_x_x
бжни
 Аватар для alex_x_x
2441 / 1646 / 84
Регистрация: 14.05.2009
Сообщений: 7,163
21.08.2010, 00:06     Проверка символов в строке #5
Цитата Сообщение от half-node Посмотреть сообщение
Корректировка: кроме цифр нужно будет выцепить еще точку. Посему Вами предложенная функция, увы не подходит.
C
1
2
3
4
5
for( int i=0;i<n;++i ){
  if( isdigit(str[i]) || '.' == str[i] ){
    ..
  }
}
а в чем проблема?
half-node
21 / 18 / 3
Регистрация: 12.08.2010
Сообщений: 206
21.08.2010, 00:08  [ТС]     Проверка символов в строке #6
Верное замечание )) Следовательно ,есть у cstring какие-то еще секреты ))

Добавлено через 1 минуту
Кстати, очень хотелось бы знать. Есть ли какие-нибудь, желательно русскоязычные ресурсы, где можно почитать о подключаемых библиотеках, какие функции в них имеются и что делают. Или как это вообще можно узнать?
neske
1419 / 786 / 55
Регистрация: 26.03.2010
Сообщений: 2,694
21.08.2010, 00:08     Проверка символов в строке #7
alex_x_x, а не лучше сравнивать с помощью функции strcmp?
half-node
21 / 18 / 3
Регистрация: 12.08.2010
Сообщений: 206
21.08.2010, 00:09  [ТС]     Проверка символов в строке #8
Цитата Сообщение от alex_x_x Посмотреть сообщение
C
1
2
3
4
5
for( int i=0;i<n;++i ){
  if( isdigit(str[i]) || '.' == str[i] ){
    ..
  }
}
а в чем проблема?
Да...действительно, спасибо!
alex_x_x
бжни
 Аватар для alex_x_x
2441 / 1646 / 84
Регистрация: 14.05.2009
Сообщений: 7,163
21.08.2010, 00:10     Проверка символов в строке #9
Цитата Сообщение от neske Посмотреть сообщение
alex_x_x, а не лучше сравнивать с помощью функции strcmp?
а каким образом? я с условием не очень представляю
half-node
21 / 18 / 3
Регистрация: 12.08.2010
Сообщений: 206
21.08.2010, 03:26  [ТС]     Проверка символов в строке #10
По поводу информации о функциях, не подскажете?
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
21.08.2010, 03:40     Проверка символов в строке #11
half-node, Книги. Практика.
Тут можно почитать вцелом
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.08.2010, 07:33     Проверка символов в строке
Еще ссылки по теме:

C++ Проверка русских символов в строке
Текст, состоящий не более чем из 255 символов, разбить на строки длиной не более 50 символов в строке C++
C++ Проверка ввода символов

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Nameless One
Эксперт С++
 Аватар для Nameless One
5754 / 3403 / 255
Регистрация: 08.02.2010
Сообщений: 7,393
21.08.2010, 07:33     Проверка символов в строке #12

Не по теме:

Цитата Сообщение от neske Посмотреть сообщение
alex_x_x, а не лучше сравнивать с помощью функции strcmp?
Функция strcmp сравнивает две строки, а у alex_x_x сравниваются два символа.


Еще можно воспользоваться регулярными выражениями. Потому как при проверке, которую предложил alex_x_x не учитывается то, что точка может встречаться только одна, причем не на первом месте в выражении (если, конечно, не разрешена запись дробных чисел в виде: .15), может также встречаться символ '-' для отрицательных чисел, причем он должен быть первым и единственным символом, число не может начинаться с нуля (кроме случаев, когда целая часть числа равна 0) и т.д.
Yandex
Объявления
21.08.2010, 07:33     Проверка символов в строке
Ответ Создать тему
Опции темы

Текущее время: 07:19. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru