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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 20, средняя оценка - 4.65
IMD
2 / 2 / 0
Регистрация: 17.06.2010
Сообщений: 38
#1

Включение поддержки UNICODE в программе - C++

22.08.2010, 23:24. Просмотров 2600. Ответов 10
Метки нет (Все метки)

Помогите пожалуйста с такой проблемой: я написал программу используя просто main(). В программе у меня есть функции, в которых выполняется функция main(). Захотелось добавит поддержку юникода, переименовал main() в int _tmain(int argc, _TCHAR* argv[]) а вот как его в функциях писать - не пойму. В общем что мне писать чтобы из функций main запускался?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.08.2010, 23:24
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Включение поддержки UNICODE в программе (C++):

Включение поддержки C99 в CodeBlocks - C++
Здравствуйте! Нужно написать прогу на C (без плюсов, желательно чтоб стандарт С99). Пишу в C::B. Эта сволочь мне выдает: use...

Включение заголовочного файла с классом, определяемым пользователем(объяснить ошибку в программе) - C++
Вот программа: #include<iostream> #include<string> using namespace std; class GradeBook { public: GradeBook(string name)...

Unicode в c++ - C++
Нужно вывести в консоли символ: \ Просто так сделать это нельзя, решил использовать Unicode. Код символа в Unicode : \u005C Как...

C++ и Unicode - C++
Всем привет. Читая про кодовые точки в Java, мне стало интересно как с этим дела в C++. Т.е. для обычного ASCII мы используем char (1...

Unicode ОШИБКА - C++
Всем привет у меня такая проблема с UNICODE вод код #define UNICODE #define _UNICODE #include <Windows.h> #pragma...

ANSI и UNICODE - C++
#include <iostream> #include <windows.h> using namespace std; int main(){ TCHAR j; return 0;

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
silent_1991
Эксперт С++
4963 / 3039 / 149
Регистрация: 11.11.2009
Сообщений: 7,027
Завершенные тесты: 1
22.08.2010, 23:28 #2
IMD,
Если не секрет, конечно, _зачем_ вам вызывать мэйн из каких-либо функций? И как вы себе это представляете? Чего пытаетесь добиться?
IMD
2 / 2 / 0
Регистрация: 17.06.2010
Сообщений: 38
22.08.2010, 23:37  [ТС] #3
silent_1991: Ну допустим у меня простенькая консольная прграмка-читалка текстовых файлов, и меню к ней. Меню - отдельной функцией, которая возвращает в майн одно из значений а далее в майне выбирается действие: начать чтение либо выйти. Если при чтении нажать esc или дочитать до конца, то как раз нужно снова выполнить майн. Могу код показать, только его дофига.
alex_x_x
бжни
2447 / 1652 / 84
Регистрация: 14.05.2009
Сообщений: 7,162
22.08.2010, 23:39 #4
IMD, наверняка можно сделать все по-другому
относительно же сабжа - так и вызывать _tmain( 100500, _T("hello world") );
IMD
2 / 2 / 0
Регистрация: 17.06.2010
Сообщений: 38
22.08.2010, 23:42  [ТС] #5
alex_x_x Может быть и можно, но в принципе меня и так работа проги устраивае (главное чтобы препода тоже устроила ), а вот поддержку юникода было бы очень приятно иметь, так как программа понимает только английские названия файлов.
CyBOSSeR
Эксперт C++
2300 / 1670 / 86
Регистрация: 06.03.2009
Сообщений: 3,675
22.08.2010, 23:45 #6
IMD, в таком случае крайне рекомендую прочитать главу посвященную UNICODE в книге Дж. Рихтера "Windows via C++".
silent_1991
Эксперт С++
4963 / 3039 / 149
Регистрация: 11.11.2009
Сообщений: 7,027
Завершенные тесты: 1
22.08.2010, 23:55 #7
IMD,
Намного проще всю эту конструкцию сделать через бесконечный цикл, каждая итерация которого, грубо говоря, очередной вызов мэйна. Это если я вас правильно понял, не видя кода.
Ну а по сабжу уже ответили... Так и вызывать
Цитата Сообщение от alex_x_x Посмотреть сообщение
_tmain( 100500, _T("hello world") );
IMD
2 / 2 / 0
Регистрация: 17.06.2010
Сообщений: 38
23.08.2010, 00:04  [ТС] #8
silent_1991 А ведь действительно проще, ну а я вот так сделал:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
int main()
{
int choose;
choose=menu();
switch (choose)
        {
        case 1:
            system("cls");
            textreader();
        case 2:
            system("cls");
            exit(1);
        }
}
void textreader()
int menu()
Вот както так, весь код 600 строк, к делу не относящихся, просто если я в textreadere нажму esc то снова выполняется main()
alex_x_x
бжни
2447 / 1652 / 84
Регистрация: 14.05.2009
Сообщений: 7,162
23.08.2010, 00:11 #9
IMD, простейший обработчик событий
не забудьте интервал добавить между итерациями цикла, если он нигде не реализован
silent_1991
Эксперт С++
4963 / 3039 / 149
Регистрация: 11.11.2009
Сообщений: 7,027
Завершенные тесты: 1
23.08.2010, 00:12 #10
IMD,
А вот можно switch засунуть в цикл, а при нажатии esс просить textreader возвращать, скажем, 27, а потом в мэйне проверять, что она вернула. Если 27 - ставим continue. А эта рекурсия ни к чему. Если вы после каждого прочитанного слова будете esc нажимать - очень скоро стек переполнится и дело с концом.
IMD
2 / 2 / 0
Регистрация: 17.06.2010
Сообщений: 38
23.08.2010, 00:15  [ТС] #11
silent_1991 Да, вот теперь понял как всё сделать и главное чем мой вариант плох.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.08.2010, 00:15
Привет! Вот еще темы с ответами:

Чтение Unicode - C++
Есть файл в кодировке Unicode. Надо вывести его содержимое в другой файл и в консоль. Использую двухбайтовый тип wchar, но вместо текста...

Преобразование в Unicode - C++
Как преобразовать тип Buffer ,чтобы не было ошибки: error C2664: int CEdit::GetLine(int,LPTSTR,int) const: невозможно преобразовать...

ANSI to Unicode - C++
Hi all. Вопрос к экспертам :) Хочу сохранить строку текста (кириллица) в текстовый файл. Строка в ANSI, а нужно сконвертировать в...

From UTF-8 to UNICODE - C++
здравствуйте!! у меня вот какой вопрос! Как сделать преобразование UTF-8 и Unicode? во общем моя программа считывает данные с базы( база...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
23.08.2010, 00:15
Ответ Создать тему
Опции темы

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