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

C для начинающих

Войти
Регистрация
Восстановить пароль
 
nikitako19
0 / 0 / 0
Регистрация: 20.09.2015
Сообщений: 6
#1

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

26.09.2015, 11:17. Просмотров 521. Ответов 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 - параметры для фильтрации введенных данных (C (СИ)):

Функция scanf + проверка на ввод данных - C (СИ)
Как я понимаю: использовать scanf + массив для проверки на корректность ввода - неудачная идея. Она не чистит буфер, который предоставляет...

C - Функция scanf() - C (СИ)
И снова я.Заранее прошу прощения за такие глупые,возможно,вопросы,но всё же..: #include &lt;stdio.h&gt; #include &lt;conio.h&gt; int...

Функция scanf не работает - C (СИ)
Возникает проблема, что функция scanf не работает. Скрин: Можно как-нить решить? И не будут ли еще подобные проблемы встречаться? ...

Не определяется функция scanf - C (СИ)
Привет!) У меня такая проблема.... не хочет считывать строки(( уже все перепробовал..... вот например код #include &lt;stdio.h&gt; ...

Функция scanf(), не считывает данные - C (СИ)
Вот перед вами кусок кода, это функция которая возвращает true или false bool ask(char *text) { char choice; while(1) { ...

Функция ввода с клавиатуры scanf - C (СИ)
Здравствуйте. WinXP, MS VS20005 В приведенном коде BBB независимо от введенного с клавиатуры значения =0. Однако если...

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

Добавлено через 16 минут
Речь идёт о работе самой функции, безотносительно языка, я так понял.
0
easybudda
Модератор
Эксперт CЭксперт С++
10020 / 5943 / 1004
Регистрация: 25.07.2009
Сообщений: 11,230
26.09.2015, 18:26 #5
Цитата Сообщение от nikitako19 Посмотреть сообщение
добавить в параметр формат, что бы она считывала кроме этого"%[іІ,їЇ, ,а-я,А-я,a-z,A-Z,0-9]s" еще и все символы типа таких: "!"№;::?(_()^%$(&*("
У меня у одного чувство, что проще указать, какие символы не должны читаться?
0
CoderHuligan
745 / 456 / 135
Регистрация: 30.06.2015
Сообщений: 2,419
Записей в блоге: 3
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 - C (СИ)
Здравствуйте! Только начал знакомство с этим замечательным языком. Возникла такая проблема: необходимо считать с клавиатуры число...

Функция scanf() не выводит символ и адрес символа - C (СИ)
#include &lt;stdio.h&gt; #include &lt;stdlib.h&gt; int main() { char letter; printf(&quot;Enter any one keyboard character &quot;); ...

Функция scanf запрашивает переменную два раза - C (СИ)
main( ) { float rost, rezul; char beep; printf(&quot; fgdfgfg \n&quot;); printf(&quot;v futax ves vvedi \n&quot;); scanf(&quot;%f &quot;, &amp;rost); ...

Как сделать так, чтобы функция scanf ожидала ввода - C (СИ)
как сделать так чтобы функция scanf ожидала ввода столько сколько надо а не вырубалась через некоторое время? где объявлена функция flush? ...


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

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

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