быдлокодер
1721 / 908 / 106
Регистрация: 04.06.2008
Сообщений: 5,635
1

mingw+ WindowsXP+ юникод+ консоль+ русский язык+ Dev-Cpp. Вот надо разобраться со всем этим благолепием

02.12.2012, 16:40. Показов 4629. Ответов 9
Метки нет (Все метки)

Не слабо нам решить эту проблему?
В общем, всё, что ест в гугле я пробовал, бесполезно. Всякие там локали и кодировки. Те, ко искал, понимают, о чём речь. Выводит какую-то шнягу либо вообще ничё не выводит либо не компилит.

Если у кого-то есть рабочий пример, дайте исходник и командную строку gcc. Если будет написано не в Dev-Cpp на данном этапе некритично, тоже пойдёт. Я в крайнем случае скомпилю в консоли, а не в IDE. Спасибо, то откликнется.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
02.12.2012, 16:40
Ответы с готовыми решениями:

необходимо разобраться со всем этим благолепием, которое предоставляет студия MSVS
Запрос такой: исходя из имеющихся знаний (C\C++, консоль, чистый API) хотелось бы заняться...

Где убедиться, что версия С11 для Си используется в сборке Dev-Cpp 5.7.1 MinGW 4.8.1 Portable?
Читал, что это заложено в этом дистрибутиве. Хочется дополнительно увидеть в настройках программы...

Русский язык в консоль
Привет всем, не знаю куда ещё это отнести(модеры сори если не сюда и если доставил больше работы)...

Как заставить консоль понимать русский язык? (русские шрифты в консоли)
Добрый вечер. Нужна ваша помощь С++ не понимает русский язык

9
126 / 124 / 16
Регистрация: 03.07.2011
Сообщений: 354
02.12.2012, 19:20 2
попробуйте использовать кодировку файла не utf, а windows 1251. Или это обязательное условие?
0
быдлокодер
1721 / 908 / 106
Регистрация: 04.06.2008
Сообщений: 5,635
02.12.2012, 19:36  [ТС] 3
При создании исходников в Dev-Cpp используется именно кодировка 1251 и никакая другая; более того, по-моему в Dev-Cpp возможно использовать ИСКЛЮЧИТЕЛЬНО 1251.
0
126 / 124 / 16
Регистрация: 03.07.2011
Сообщений: 354
02.12.2012, 19:41 4
Цитата Сообщение от kravam Посмотреть сообщение
по-моему в Dev-Cpp возможно использовать ИСКЛЮЧИТЕЛЬНО 1251.
сомневаюсь, наверняка где-то можно менять кодировку...

тогда открываете консоль, Свойства->Шрифт->Lucida Console
C++
1
2
3
4
5
6
7
8
9
10
11
#include <iostream>
#include <locale.h>
 
using namespace std;
 
int main()
{
    setlocale(LC_ALL , "Russian");
    cout << "ЫФвфв";
    return 0;
}
компиляция как обычно...
0
быдлокодер
1721 / 908 / 106
Регистрация: 04.06.2008
Сообщений: 5,635
02.12.2012, 20:39  [ТС] 5
Цитата Сообщение от ZoRT Посмотреть сообщение
тогда открываете консоль, Свойства->Шрифт->Lucida Console
у меня стоит Lucida Console;

+++++++++++++++++++++++++++++++++++++++++++++++++++

Показываются кракозябры, решается:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream>
#include <stdio.h>
#include <windows.h>
 
using namespace std;
 
int main()
{
 SetConsoleCP(1251);
 SetConsoleOutputCP(1251);
 
    cout << "ыыыыыыы";
    getchar ();
    return 0;
}
++++++++++++++++++++++++++++++++++++++++++++++++

Только вот беда, мы решили совсем другую задачу; мне не нужен русский шрифт в консоли. Мне нужен русский шрифт, используя ЮНИКОД, в консоли...
0
126 / 124 / 16
Регистрация: 03.07.2011
Сообщений: 354
02.12.2012, 21:10 6
C++
1
2
3
4
5
6
7
8
9
10
11
#include <iostream>
#include <locale.h>
 
using namespace std;
 
int main()
{
    setlocale(LC_ALL , "Russian");
    wcout << L"ывф";
    return 0;
}
файл должен быть сохранен с кодировкой utf
0
быдлокодер
1721 / 908 / 106
Регистрация: 04.06.2008
Сообщений: 5,635
02.12.2012, 21:51  [ТС] 7
Я создал такой файл с такой кодировкой в NOTEPAD++.exe (проверил в hiewе на всякий случай), потом компильнул:
C++
1
g++ main.cpp
потом запустил a.exe, в результате кракозябры
0
126 / 124 / 16
Регистрация: 03.07.2011
Сообщений: 354
02.12.2012, 23:04 8
можете скриншот, какие именно кракозябры?

Не по теме:

откуда это слово пошло?

0
быдлокодер
1721 / 908 / 106
Регистрация: 04.06.2008
Сообщений: 5,635
02.12.2012, 23:17  [ТС] 9
вот такие:
0
Миниатюры
mingw+ WindowsXP+ юникод+ консоль+ русский язык+ Dev-Cpp. Вот надо разобраться со всем этим благолепием  
быдлокодер
1721 / 908 / 106
Регистрация: 04.06.2008
Сообщений: 5,635
04.12.2012, 18:14  [ТС] 10
Есть у кого какие-нибудь мысли по этому поводу?

Добавлено через 21 час 44 минуты
Короче предварительные выводы такие:
gcc небходим файл в кодировке utf-8; почему я не знаю; но тогда он без труда выведет русский язык:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
#include <locale.h>
#include <stdio.h>
#include <windows.h>
 
using namespace std;
 
int main()
{
 SetConsoleCP(1251);
 SetConsoleOutputCP(1251);
    setlocale(LC_ALL , "Russian");
    wcout << L"Привет, мир!";
    wprintf (L"Привет, мир!");
    getchar ();
    return 0;
}
или
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream>
#include <locale.h>
#include <stdio.h>
#include <windows.h>
 
using namespace std;
 
int main()
{
    setlocale(LC_ALL, ".OCP");
    wcout << L"Привет, мир!";
    wprintf (L"Привет, мир!");
    getchar ();
    return 0;
}
в code::block всё выводится без проблем, поскольку там есть возможность сохранить файл в кодировке UTF-8, чего не скажешь про Dev-Cpp; но это в конечном итоге мои проблемы, как пользователя Dev-Cpp

++++++++++++++++++++++++++++++++++++++++++++++++

Но почему gcc не различает где строка вида юникод, а где нет? (имея ввиду, что весь файл не юникодовский):
C++
1
    wprintf (L"Привет, мир!");
Что мешает компилятору увидя "L" поместить в память юникодовскую строку? Просто компилятор на это не расчитан, но почему? Он делает вещи, как впрочем и все компиляторы, а на такой малости спотыкается. Странно, очень странно. Надо будет как-то вернуться к этому вопросу.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
04.12.2012, 18:14

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Как заставить консоль корректно отображать русский язык под виндой?
Знаю,что этот вопрос обсуждался уже тысячи раз,но я так и не нашел универсального способа.Использую...

Как настроить Dev-C++ для GTK под WindowsXP
Уж и незнаю что делать, под Linux без проблем удалось настроить GTK а вот под виндой никак «Hello...

Вот: source_file.cpp: In function 'int main()': source_file.cpp:10:12: error: 'strlen' was not declared in this scope
#include&lt;iostream&gt; using namespace std; int main() { char a,b; int i,j; cout&lt;&lt;&quot;Напишите...

Не могу исправить ошибку :113 H:\Dev-Cpp\Проекты\уроки\Безымянный3.cpp cannot convert `IDirectDraw7**' to `IDirectDraw**' for argument `2' to `HRESULT DirectDrawCreate(GUID*, IDirectDraw**, IUnknown*)
Недавно начал изучать оконные программы и работу с DirectX. Но при написании программы столкнулся...

Cpp in minGW
Доброго дня. Установил себе minGW, хочу скомпилировать файл *.cpp, но возникает проблема: ...

Как поменять юникод на другую кодировку и обратно в dev-c++?
Чтобы при копировании русских строк из других документов в окно редактора Dev-C++ он не менял их на...


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

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

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