Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 21.02.2010, 18:15   #11
Кипящий чайник
Форумчанин
 
Регистрация: 17.12.2009
Сообщений: 101
По умолчанию

Цитата:
Сообщение от netrino Посмотреть сообщение
В каких случаях scanf работал не так, как ожидалось?
В моём случае это был wscanf, но, я думаю, больших отличий нет. Вводилась команда о двух частях, а затем вызывалась функция анализа:
Код:
 
wscanf("%S%S", part1,part2);
Analysis(part1,part2);
Analysis сравнивала первую часть с командами "возьми" и "посмотри" - например, wcsncmp(part1, take, 4), и при совпадении вызывала функции Take(part2) и LookAt(part2). В этих же функциях вторая часть сравнивалась с объектами "гитара" и "весло" - wcsncmp(part2,guitar,4). Ну а там, в зависимости от того, с чем совпадало, например, "посмотри" выводится описание весла или гитары, или, если "возьми", то надпись "вы взяли гитару/весло".
Но вот часто бывало, что вторая часть не совпадала ни с каким объектом, как будто во вторую переменную ничего не записывалось. А бывало, что очень даже работало. Мистика...

Модераторы, удалите это сообщение, а то у меня этой опции нет!

Последний раз редактировалось Кипящий чайник; 21.02.2010 в 18:22.
Кипящий чайник вне форума Ответить с цитированием
Старый 21.02.2010, 18:18   #12
Кипящий чайник
Форумчанин
 
Регистрация: 17.12.2009
Сообщений: 101
По умолчанию

В том-то мистика, что я очень даже проверял. Вводил я всегда грамотно, и проверял, когда была ошибка. А закономерностей не было, иначе бы выявил.
Кипящий чайник вне форума Ответить с цитированием
Старый 21.02.2010, 20:42   #13
Кипящий чайник
Форумчанин
 
Регистрация: 17.12.2009
Сообщений: 101
По умолчанию

Я воспользовался вашим методом, используя средства С++. Всё прекрасно, но есть запинка - нет ли функции вроде strncmp, но чтобы для string? Просто я хочу сравнивать только первые 4 символа, дабы не мучаться с окончаниями.
Кипящий чайник вне форума Ответить с цитированием
Старый 21.02.2010, 20:55   #14
netrino
Участник клуба
 
Аватар для netrino
 
Регистрация: 15.07.2008
Сообщений: 1,933
По умолчанию

Цитата:
Сообщение от Кипящий чайник Посмотреть сообщение
Я воспользовался вашим методом, используя средства С++. Всё прекрасно, но есть запинка - нет ли функции вроде strncmp, но чтобы для string? Просто я хочу сравнивать только первые 4 символа, дабы не мучаться с окончаниями.
У string есть метод compare, в котором можно указывать кол-ство символов для сравнения
Код:
std::string str("Hello");
if(!str.compare(0, 4, "Hellad", 0, 4))
    std::cout << "equal" << std::endl;
первые два параметра - начало и кол-ство символов для сравнения из str, третий - строка для сравнение, четвёртый и пятый - начало и кол-ство символов для сравнения из второй строки
netrino вне форума Ответить с цитированием
Старый 27.02.2010, 19:16   #15
Кипящий чайник
Форумчанин
 
Регистрация: 17.12.2009
Сообщений: 101
По умолчанию

Чем больше работаю, чем больше заглядываюсь на перспективу с одной строкой, куда введена вся команда. Так гораздо удобнее.
Если ли метод в string или в стандартной библиотеке С++, позволяющий проверять, например, одну строку "возьми гитару" на наличие двух команд?
Кипящий чайник вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Загрузить файл в одну строку на Perl Sergey2 Perl 4 16.07.2009 21:03
Как в C++ организовать ввод данных в одну строчку? amdbodia Общие вопросы C/C++ 10 16.05.2009 18:03
Уникальные значения в одну строку Iskin Microsoft Office Excel 9 08.03.2009 09:39
Ввод текста и ссылки в одну ячейку Апчхи Microsoft Office Excel 5 03.02.2009 10:44
Запись в одну строку Terran Общие вопросы Delphi 2 08.05.2008 23:35