С++ не рабит кириллилица в консольке. Help!!!
|
|
StelsHunter | Дата: Среда, 27 Июля 2011, 23:58:57 | Сообщение # 1 |
1 уровень
Группа: Пользователи
Награды: 0
Репутация: 0
Блокировки:
| Юзаю Microsoft Visual Studio Express C++ В консольной проге , при выводе строки содержащей кириллицу выдаёт не понятно что. Как исправить?
|
|
|
|
☻EnS☻ | Дата: Четверг, 28 Июля 2011, 00:13:39 | Сообщение # 2 |
3 уровень
Группа: Проверенные
Сообщений: 59
Награды: 0
Репутация: 43
Блокировки:
| у тебя есть винамп?
|
|
|
|
StelsHunter | Дата: Четверг, 28 Июля 2011, 00:14:55 | Сообщение # 3 |
1 уровень
Группа: Пользователи
Награды: 0
Репутация: 0
Блокировки:
| Quote (☻EnS☻) у тебя есть винамп? Да лан..... уже как 2 года не смешно....
|
|
|
|
☻EnS☻ | Дата: Четверг, 28 Июля 2011, 00:18:42 | Сообщение # 4 |
3 уровень
Группа: Проверенные
Сообщений: 59
Награды: 0
Репутация: 43
Блокировки:
| я в сириаз Добавлено (28-07-2011, 00:18) --------------------------------------------- винамп просто помогает,вот смотри:у тебя что-то не работает,ты нервируешься..качаешь винамп-включаешь музыку и расслабляешься. -?!?!?!? -PROFIT!
|
|
|
|
StelsHunter | Дата: Четверг, 28 Июля 2011, 00:23:14 | Сообщение # 5 |
1 уровень
Группа: Пользователи
Награды: 0
Репутация: 0
Блокировки:
| Quote (☻EnS☻) ты нервируешься офк не нервируюсь просьба отвечать по сабжу, без тролинга.
|
|
|
|
Velm@ris | Дата: Четверг, 28 Июля 2011, 01:24:13 | Сообщение # 6 |
1 3 3 7 bot
Группа: Ветераны
Сообщений: 587
Награды: 0
Блокировки:
| ☻EnS☻, не на того напал
StelsHunter, по сабжу думаю это: Quote SetConsoleCP(1251); или SetConsoleCP(866);
зависит в какой кодировке русский текст..
Добавлено (28-07-2011, 01:22) --------------------------------------------- правда придется подключать в консольное приложение windows.h
Добавлено (28-07-2011, 01:24) --------------------------------------------- даже пример нашёл: Code #include <iostream.h> #include <windows.h> #include <conio.h>
int main () { char sInput[20] = "Здравствуй, мир!"; char sOutput[20]; CharToOem(sInput, sOutput);
cout<<sOutput<<endl; getch();
return 0; }
Рекорд 1377.75р
|
|
|
|
Malfatto | Дата: Четверг, 28 Июля 2011, 01:26:00 | Сообщение # 7 |
Группа: Модераторы
Сообщений: 3806
Награды: 7
Репутация: 2425
Блокировки:
| совет выше не поможет, если используется системный шрифт.
необходимо в реестре сделать, чтобы консольные приложения поддерживали кириллицу (погугли, давно делал, я бы ссылку дал, если бы не с телефона сидел). после этого нужно программы писать непосредственно в консольной кодировке (тоже забыл как называется )
|
|
|
|
Velm@ris | Дата: Четверг, 28 Июля 2011, 01:30:49 | Сообщение # 8 |
1 3 3 7 bot
Группа: Ветераны
Сообщений: 587
Награды: 0
Блокировки:
| Хамяг, ответ в гугле от 2004 года был)
Рекорд 1377.75р
|
|
|
|
Malfatto | Дата: Четверг, 28 Июля 2011, 02:06:47 | Сообщение # 9 |
Группа: Модераторы
Сообщений: 3806
Награды: 7
Репутация: 2425
Блокировки:
| Velm@ris, я кстати проверил на делфи - не работает хотя там то же самое.
|
|
|
|
Velm@ris | Дата: Четверг, 28 Июля 2011, 02:11:15 | Сообщение # 10 |
1 3 3 7 bot
Группа: Ветераны
Сообщений: 587
Награды: 0
Блокировки:
| и пример не робит?
Рекорд 1377.75р
|
|
|
|
Malfatto | Дата: Четверг, 28 Июля 2011, 02:31:18 | Сообщение # 11 |
Группа: Модераторы
Сообщений: 3806
Награды: 7
Репутация: 2425
Блокировки:
| Velm@ris, ну да
Code program Project1; {$APPTYPE CONSOLE} uses Windows; var sInput: array [0..20] of Char = 'Здравствуй, мир!'; sOutput: array [0..20] of Char; begin CharToOem(@sInput,@sOutput); WriteLn(sOutput); ReadLn; end.
не пашет
|
|
|
|
[Warcrafter]MIRon | Дата: Четверг, 28 Июля 2011, 02:33:39 | Сообщение # 12 |
5 уровень
Группа: Проверенные
Сообщений: 133
Награды: 0
Репутация: 502
Блокировки:
| погулять с девушками, попить пива
|
|
|
|
Malfatto | Дата: Четверг, 28 Июля 2011, 03:14:58 | Сообщение # 13 |
Группа: Модераторы
Сообщений: 3806
Награды: 7
Репутация: 2425
Блокировки:
| [Warcrafter]MIRon, не помогает, проверено.
|
|
|
|
[Warcrafter]MIRon | Дата: Четверг, 28 Июля 2011, 03:25:42 | Сообщение # 14 |
5 уровень
Группа: Проверенные
Сообщений: 133
Награды: 0
Репутация: 502
Блокировки:
| наяндексил, попробуй Code #include<iostream> #include<clocale>
using namespace std;
int main() { setlocale(LC_CTYPE, ""); cout << "Русский текст?! Да ладно!" << endl; cin.get(); return 0;
или это уже писали? там вроде другое
Сообщение отредактировал [Warcrafter]MIRon - Четверг, 28 Июля 2011, 03:26:34 |
|
|
|
t0s | Дата: Четверг, 28 Июля 2011, 08:32:15 | Сообщение # 15 |
7 уровень
Группа: Проверенные
Сообщений: 443
Награды: 0
Репутация: 219
Блокировки:
| В начале функции напиши эту строку: setlocale(LC_ALL, "Rus"); Когда с++ изучал, та же проблема была. Добавлено (28-07-2011, 08:32) --------------------------------------------- Если не понял, могу исходный файл скинуть.
|
|
|
|
StelsHunter | Дата: Четверг, 28 Июля 2011, 11:52:20 | Сообщение # 16 |
1 уровень
Группа: Пользователи
Награды: 0
Репутация: 0
Блокировки:
| последний вариант заработал. Спасибо, всем за помощь.
|
|
|
|
Velm@ris | Дата: Четверг, 28 Июля 2011, 13:24:43 | Сообщение # 17 |
1 3 3 7 bot
Группа: Ветераны
Сообщений: 587
Награды: 0
Блокировки:
| ну вот и хорошо =)
Рекорд 1377.75р
|
|
|
|