|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
29.10.2010, 18:17 | #1 |
Участник клуба
Регистрация: 28.07.2009
Сообщений: 1,510
|
atoi("2qweqwe") возвращает 2, а не 0
Как быть? Проверять строку на цифры? Или есть другая функция?
Как проверить что в строке А только цифры, точки и запятые. Кроме такого for (i=0; i<strlen(A); ii) if (A[i]>='0'&&A[i]<='9'||A[i]=='.'||A[i]==',') ... |
29.10.2010, 18:38 | #2 |
Пользователь
Регистрация: 11.06.2010
Сообщений: 78
|
TwiX в таких случаях используют регулярные выражения, а регулярные выражения строят конечный автомат, вывод, вам никуда не уйти от множественных проверок строки на нужное для вас условие.
Я не волшебник, я еще только учусь ٩(๏̯͡๏)۶
|
29.10.2010, 18:39 | #3 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Цитата:
I'm learning to live...
|
|
29.10.2010, 18:47 | #4 |
Пользователь
Регистрация: 29.10.2010
Сообщений: 29
|
макросы типа isdigit(), isalpha(), isnum(), ...
но они Вам не нужны, просто ваша atoi это скорее всего #define atoi(x) strtol((x), 0, 0) используйте long int strtol(const char *nptr, char **endptr, int base); а вообще читайте API Reference библиотек, которые используете и файлы заголовков |
29.10.2010, 21:34 | #5 |
Участник клуба
Регистрация: 28.07.2009
Сообщений: 1,510
|
Stilet, а если там куча знаков? Надо как-то так: if A[i] in "1234567890,." ...
strtol появилась позже.... И atoi не дефайн (в D2010 по крайней мере) |
29.10.2010, 21:34 | #6 |
Участник клуба
Регистрация: 28.07.2009
Сообщений: 1,510
|
Stilet, а если там куча знаков? Надо как-то так: if A[i] in "1234567890,." ...
strtol появилась позже.... И atoi не дефайн (в D2010 по крайней мере) |
29.10.2010, 21:57 | #7 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
ну циклом прогонись и не парься.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
29.10.2010, 23:16 | #8 |
Участник клуба
Регистрация: 28.07.2009
Сообщений: 1,510
|
Функция какая-то было, точно помню :D
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Как обойти "преобразование типа из "string" в "float" невозможно" | lexluter1988 | Помощь студентам | 1 | 07.08.2010 12:23 |
"ОКРВВЕРХ", "ОКР", "ЕСЛИ". Как бы их связать. | Каравай | Microsoft Office Excel | 13 | 17.02.2010 09:53 |
при вводе на листе "магазин"- код товара появлялось "описание" товара из "склада" с "продажной ценой" | aleksei78 | Microsoft Office Excel | 13 | 25.08.2009 12:04 |
блок "cont" с права не принимает значение "margin: 10px;" которое описано в body | tabikA | HTML и CSS | 5 | 24.02.2009 21:50 |