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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
DrobyshevAlex
1169 / 1119 / 16
Регистрация: 31.05.2012
Сообщений: 3,059
#1

Проверка вводимых символов - C++

10.06.2012, 14:38. Просмотров 474. Ответов 2
Метки нет (Все метки)

Что то я так и не нашел в с++ под линукс есть ли встроенные регэкспы.
Мне нужно что бы люди при загрузке файла не могли подменить имя, то естьп роверить что это символы
a-zA-Z-а-яёА-ЯЁ0-9_.,'- и пробел.
Единственная идея не подключая сторонних либ, юто брать, по символьно и проверять входят ли эти кожы этих символов в диапазон разрешенный. то есть
C++
1
(ch >= 'a' && ch <= 'z') || (ch >= 'A' && ch <= 'Z') || ...
Будет ли такой алгоритм эффиктывный? Или перебор по одному символу будет медленный? С другой стороны регулярки наверное же тоже каждый символ проверяют
Или может кто подскажет как это сделать стандартными возможностями c++ под линукс?
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.06.2012, 14:38
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Проверка вводимых символов (C++):

Проверка вводимых символов - C++
Привет форум! Уже пытался кое-что найти в книжках по С++ по поводу сабжа, но многое мне не ясно, ибо я очень очень чайник. Вот что мне...

Проверка вводимых данных. - C++
предполагается, что функция будет проверять, что ввел пользователь, и, если он ввел не натуральное число заранее заданного диапазона,...

Проверка вводимых данных - C++
#include &lt;iostream&gt; using namespace std; int main() { double a, b, c; cout &lt;&lt; &quot;Enter the first side of the...

Проверка вводимых значений - C++
Стоит задача не допустить ввода значений помимо чисел(0..9), точки(&quot;.&quot;) и &quot;+&quot; или &quot;-&quot;. При условии, что используется данная функция: ...

Проверка вводимых значений - C++
есть динам. массив, который вручную заполняется for (int i=0;i&lt;n;i++) { cout&lt;&lt;&quot;Введите &quot;&lt;&lt;i+1&lt;&lt;&quot; значение Urab (5...60 B) :...

Проверка вводимых данных - C++
Доброго времени суток, форумчане. Я столкнулся с такой проблемой: при введении еденицы измерения, если та инициализирована ранее то все...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Polikarpic
46 / 46 / 7
Регистрация: 29.06.2011
Сообщений: 174
10.06.2012, 15:25 #2
Вообще данные можно считывать как строки и потом преобразовывать в то, что нужно:
могу дать пару функций посимвольного разбора строки, например http://ru.wikipedia.org/wiki/Strtod
и http://www.cplusplus.com/reference/c...stdlib/strtol/
они простые(хотя они унаследованы от Си).
0
DrobyshevAlex
1169 / 1119 / 16
Регистрация: 31.05.2012
Сообщений: 3,059
10.06.2012, 15:34  [ТС] #3
Ну я пока вот так сделал
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
bool checkName(const char * str)
{
    const char * pch = str;
    while (*pch != NULL)
    {
        switch (*pch)
        {
            case '/':
            case '\\':
            case '"':
            case '*':
            case '?':
            case ':':
            case '<':
            case '>':
            case '|':
                Log->Print(LOG_DEBUG, "checkName(%c) - error\r\n", *pch);
                return false;
        }
        ++pch;
    }
    return true;
}
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.06.2012, 15:34
Привет! Вот еще темы с ответами:

Проверка вводимых данных - C++
Вот часть программы int main(void) { int vop; setlocale(LC_ALL, &quot;Russian&quot;); int mas1, mas2, mas3, outmas; int ke1, ke2,...

Проверка корректности вводимых данных - C++
Здравствуйте, подскажите,пожалуйста, как прописать условия проверки. Мне нужно: если вводится радиус e больше одной из сторон, выводилось...

Проверка типа вводимых данных. - C++
Собственно,как осуществить ? К примеру,здесь: int main() { int x; int y; cin &gt;&gt; x;

Проверка корректности вводимых данных - C++
Есть программа на проверку високосного года. Преподаватель при проверке вводит &quot;5 Аотао&quot; к примеру и программа читает первое число и...


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

Или воспользуйтесь поиском по форуму:
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru