struct book //структура "Книга" на 7 элементов
{
int date_izd; //год издания книги
char book_name[30]; //название книги
char author[21]; //автор книги
char zhanr[11]; //жанр книги
int price; //стоимость книги
int rate; //рейтинг популярности книги
int id; //ID номер книги
};
все элементы структуры инициализируются, вот так например:
Код:
int b_count = 20;
book *ar = new book [b_count]; //библиотека на 20 книг
А вот я включаю телепатический модуль, и предполагаю, что гражданин редактирует программу в какой-нибудь студии, и набирает русский текст в Win-1251, а потом запускает программу в консли и вводит поисковый запрос в 866, и ничего не срастается.
Да здравствует мыло душистое и веревка пушистая.
Re[3]: Поиск в структуре, содержащей строки с кириллицей
Здравствуйте, Vamp, Вы писали:
S>>точно также как и в случае с латинскими.
V>А вот я включаю телепатический модуль, и предполагаю, что гражданин редактирует программу в какой-нибудь студии, и набирает русский текст в Win-1251, а потом запускает программу программув консли и вводит поисковый запрос в 866, и ничего не срастается.
Я прописываю
setlocale( LC_ALL, "Russian" );
пробовал
SetConsoleCP(1251);
SetConsoleOutputCP(1251);
и тогда кириллица не отображалась вообще
Re: Поиск в структуре, содержащей строки с кириллицей
Здравствуйте, S1lveria, Вы писали:
S> strcpy (ar[0].book_name, "Война и мир"); S>Как организовать поиск по элементам структуры, содержащие русские буквы?
Ну раз строки инициализируются прямо в коде, то заноси их прямо в DOS-кодировке (866), т.е. возьми редактор, которые поддерживает кодировки (Notepad++, Far Manager) и вбей русские строки в нужной кодировке. В консольном режиме все будет OK
Re[2]: Поиск в структуре, содержащей строки с кириллицей
Здравствуйте, Roman Odaisky, Вы писали:
RO>UTF-8 — наше всё!!
Объясни это DOS
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
Re[4]: Поиск в структуре, содержащей строки с кириллицей
Здравствуйте, Roman Odaisky, Вы писали:
S>>Ну раз строки инициализируются прямо в коде, то заноси их прямо в DOS-кодировке (866)
RO>А по пальцам? RO>UTF-8 — наше всё!!
Судя по формулировке задачи это какая-то лаба в вузе или школе. А там чем проще, тем лучше
Re[4]: Поиск в структуре, содержащей строки с кириллицей
Здравствуйте, Roman Odaisky, Вы писали:
RO>Однобайтовые кодировки — не проще и не лучше. Хочется простоты — пусть берут UTF-32.
Вопросы для развития кругозора:
Какому типу в стандартном С++ соответсвует UTF-32? wchar_t?
Какие функции стандартной библиотеки работают с такой кодировкой?
Нужны ли какие-то сторонние либы?
Заранее спасибо.
Re[6]: Поиск в структуре, содержащей строки с кириллицей
Здравствуйте, valker, Вы писали:
V>Какому типу в стандартном С++ соответсвует UTF-32? wchar_t?
... только с соответствующими настройками gcc.
А так, обычный char. Просто это оооочень мультибайтная кодировка.
V>Какие функции стандартной библиотеки работают с такой кодировкой?
mbtowc, в принципе, — почему бы и нет. Если считать UTF-32 за mb, а UTF-16 за wc.
V>Нужны ли какие-то сторонние либы?
libiconv очень пригодилось бы.