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

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

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

Проверка типа вводимых данных. C++
Проверка вводимых данных. C++
C++ Проверка вводимых значений
C++ Проверка вводимых символов
Посимвольная проверка вводимых данных C++
C++ Проверка вводимых значений
Проверка на коректность вводимых данных C++
Проверка вводимых данных C++
C++ Проверка корректности вводимых данных
C++ Проверка вводимых данных
C++ Проверка вводимых данных на соответствие типа
Проверка корректности вводимых значений C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Polikarpic
45 / 45 / 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/
они простые(хотя они унаследованы от Си).
DrobyshevAlex
1165 / 1115 / 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;
}
Yandex
Объявления
10.06.2012, 15:34     Проверка вводимых символов
Ответ Создать тему
Опции темы

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