С наступающим Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы
C для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/4: Рейтинг темы: голосов - 4, средняя оценка - 5.00
nikitako19
0 / 0 / 0
Регистрация: 20.09.2015
Сообщений: 6
1

Функция scanf - параметры для фильтрации введенных данных

26.09.2015, 11:17. Просмотров 662. Ответов 5
Метки нет (Все метки)

Проблема с scanf, что нужно добавить в параметр формат, что бы она считывала кроме этого"%[іІ,їЇ, ,а-я,А-я,a-z,A-Z,0-9]s" еще и все символы типа таких: "!"№;::?(_()^%$(&*("
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
 
int main()
{
    //Ввод/вывод cout|cin
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
    string str;
    cout << "Введіть строку: ";
    getline( cin, str );
    cout << "[COUT | CIN] " << str << "\n";
    //Ввод/вывод printf|scanf
    string  s;
    printf("%s","Введіть строку:");
    scanf("%[іІ,їЇ, ,а-я,А-я,a-z,A-Z,0-9]s",s);
    printf( "[SCANF | PRINTF] %s\n", s);
    system("PAUSE");
    return(0);
}
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.09.2015, 11:17
Ответы с готовыми решениями:

Функция scanf + проверка на ввод данных
Как я понимаю: использовать scanf + массив для проверки на корректность ввода -...

C - Функция scanf()
И снова я.Заранее прошу прощения за такие глупые,возможно,вопросы,но всё же..:...

Не определяется функция scanf
Привет!) У меня такая проблема.... не хочет считывать строки(( уже все...

Функция scanf не работает
Возникает проблема, что функция scanf не работает. Скрин: Можно как-нить...

Функция scanf() не работает
Здравствуйте, помогите решить проблему с функцией scanf(); Она не принимает...

5
CoderHuligan
807 / 496 / 200
Регистрация: 30.06.2015
Сообщений: 2,833
Записей в блоге: 13
26.09.2015, 15:07 2
Кавычку надо писать со обратным слэшем:
C
1
[!;:?()_^%$*\"]
так у меня всё работает. Правда в си, без плюсов.
0
zss
Модератор
Эксперт С++
7506 / 6864 / 4335
Регистрация: 18.12.2011
Сообщений: 18,174
Завершенные тесты: 1
26.09.2015, 17:48 3
Цитата Сообщение от CoderHuligan Посмотреть сообщение
так у меня всё работает
Не может это работать: в Си нет string
0
CoderHuligan
807 / 496 / 200
Регистрация: 30.06.2015
Сообщений: 2,833
Записей в блоге: 13
26.09.2015, 18:19 4
Цитата Сообщение от zss Посмотреть сообщение
Не может это работать: в Си нет string
Так речь здесь идёт о форматном вводе с помощью функции scanf, и string здесь ни при чём.
C
1
scanf("%[!№;:?()_^%$*\"]s",a);
Ложить символы можно в char(в си) или в string как в си++, без разницы

Добавлено через 16 минут
Речь идёт о работе самой функции, безотносительно языка, я так понял.
0
easybudda
Модератор
Эксперт CЭксперт С++
10157 / 6062 / 1525
Регистрация: 25.07.2009
Сообщений: 11,496
26.09.2015, 18:26 5
Цитата Сообщение от nikitako19 Посмотреть сообщение
добавить в параметр формат, что бы она считывала кроме этого"%[іІ,їЇ, ,а-я,А-я,a-z,A-Z,0-9]s" еще и все символы типа таких: "!"№;::?(_()^%$(&*("
У меня у одного чувство, что проще указать, какие символы не должны читаться?
0
CoderHuligan
807 / 496 / 200
Регистрация: 30.06.2015
Сообщений: 2,833
Записей в блоге: 13
26.09.2015, 18:34 6
Цитата Сообщение от easybudda Посмотреть сообщение
У меня у одного чувство, что проще указать, какие символы не должны читаться?

Но, хозяин - барин...
0
26.09.2015, 18:34
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.09.2015, 18:34

Функция ввода с клавиатуры scanf
Здравствуйте. WinXP, MS VS20005 В приведенном коде BBB независимо от...

Функция scanf(), не считывает данные
Вот перед вами кусок кода, это функция которая возвращает true или false ...

Чтение вещественного числа, функция scanf
Здравствуйте! Только начал знакомство с этим замечательным языком. Возникла...


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

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

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