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

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 51, средняя оценка - 4.98
evgeny1503
3 / 3 / 0
Регистрация: 04.07.2010
Сообщений: 24
#1

Русские шрифты в консоли - продолжение - C++

08.07.2010, 23:14. Просмотров 6630. Ответов 19
Метки нет (Все метки)

Всем привет.
Я вижу(и прочитал) прилепленную тему на верху, но ответа на свой ньюанс не нашел.
Есть такая программа, написанная на Visual Studio 2010 c++
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include "stdafx.h"
#include <iostream>
using namespace std;
 
int main ()
{
    setlocale (LC_ALL,"");
    char str[80];
    cout << "Введите строку: ";
    gets(str);
    cout << "Вот ваша строка: ";
    cout << str<<endl;
    return 0;
Но вот такую абра-кадабру она мне выдает:

Много искал, но ничего толкового не нашел, помоги, кто может, как сделать так, чтобы выводилось нормально?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.07.2010, 23:14
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Русские шрифты в консоли - продолжение (C++):

Русские шрифты в консоли - C++
всем привет. Я новичек, и у меня такой вопрос. Как написать сообщение с русскими буквами, чтоб нормально показывала? :rtfm:Например: ...

Очередные русские шрифты в консоли... - C++
Помогите пожалуйста) вот код: #include &lt;iostream&gt; #include &quot;windows.h&quot; using namespace std; int (void) { ...

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

Русские шрифты в c++ - C++
Работаем в Visual Studio 2010. В char переменную пишем информацию русскими символами, сохраняем, записываем в файл, читаем из файла и...

Чтения из файла Русские шрифты - C++
Не могу не как догнать перепробовал много вариантов не получается ,помогите разобраться. ...

Значения переменных - русские шрифты - C++
Здравствуйте, такая проблема: Как сделать так чтобы если я создал string tmp = &quot;й,ц,у,К,Е,Н,г,Ш,щ&quot;; то чтобы и работало с русскими...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
PointsEqual
ниначмуроФ
834 / 518 / 33
Регистрация: 12.10.2009
Сообщений: 1,915
08.07.2010, 23:17 #2
может эта тема поможет опять о шрифтах
evgeny1503
3 / 3 / 0
Регистрация: 04.07.2010
Сообщений: 24
08.07.2010, 23:47  [ТС] #3
Неа, не канает. Выдает мне кучу ошибок. Вот перваяиз них
Ошибка 1 error C2664: OemToCharBuffW: невозможно преобразовать параметр 2 из "char *" в "LPWSTR" c:\users\greeneyed\documents\visual studio 2010\projects\sdf\sdf\cpp866.h 12
Nameless One
Эксперт С++
5771 / 3420 / 255
Регистрация: 08.02.2010
Сообщений: 7,447
09.07.2010, 05:12 #4
Если хочешь вводить строки, содержащие русские буквы, то вместо setlocale можно использовать следующий прием.
fasked
Эксперт С++
4934 / 2514 / 180
Регистрация: 07.10.2009
Сообщений: 4,311
Записей в блоге: 1
09.07.2010, 09:22 #5
Цитата Сообщение от evgeny1503 Посмотреть сообщение
Неа, не канает. Выдает мне кучу ошибок. Вот перваяиз них
Ошибка 1 error C2664: OemToCharBuffW: невозможно преобразовать параметр 2 из "char *" в "LPWSTR" c:\users\greeneyed\documents\visual studio 2010\projects\sdf\sdf\cpp866.h 12
Зайдите в свойства проекта (Project -> Properties, либо по сочетанию Alt + F7). Далее Configuration Properties -> General. На этой вкладке найдите опцию Character Set - и выбирите другую, а не мультибайтовую. Поставьте вообще Not Set лучше. Прежде, чем разберетесь чем char* отличается LPWSTR всегда так и делайте.
(Как в руссифицированной студии не помню, но думаю - разберетесь)
fasked
Эксперт С++
4934 / 2514 / 180
Регистрация: 07.10.2009
Сообщений: 4,311
Записей в блоге: 1
09.07.2010, 09:52 #6
Еще способ исправления кодировок для MSVS. Более правильный на мой взгляд.
Миниатюры
Русские шрифты в консоли - продолжение   Русские шрифты в консоли - продолжение  
CyBOSSeR
Эксперт C++
2300 / 1670 / 86
Регистрация: 06.03.2009
Сообщений: 3,675
09.07.2010, 09:55 #7
Цитата Сообщение от fasked Посмотреть сообщение
На этой вкладке найдите опцию Character Set - и выбирите другую, а не мультибайтовую.
Наоборот, надо поставить мультибайтовую (MBCS) вместо юникода (UNICODE).
evgeny1503
3 / 3 / 0
Регистрация: 04.07.2010
Сообщений: 24
09.07.2010, 10:31  [ТС] #8
Цитата Сообщение от fasked Посмотреть сообщение
Еще способ исправления кодировок для MSVS. Более правильный на мой взгляд.
Спасибо, получилось!
Но есть вопрос, не вызовет ли такое сохранение кодировки каких-либо косяков в дальнейшем? В других программах.
fasked
Эксперт С++
4934 / 2514 / 180
Регистрация: 07.10.2009
Сообщений: 4,311
Записей в блоге: 1
09.07.2010, 10:39 #9
Цитата Сообщение от evgeny1503 Посмотреть сообщение
Но есть вопрос, не вызовет ли такое сохранение кодировки каких-либо косяков в дальнейшем? В других программах.
если под другими программами ты понимаешь другие текстовые редакторы, то просто нужно открывать файлы в соответствующей кодировке, если такой возможности нет, то придется пользоваться каким-нибудь конвертором.

Добавлено через 1 минуту

Не по теме:

в любом случае полезнее и удобнее выучить английский

evgeny1503
3 / 3 / 0
Регистрация: 04.07.2010
Сообщений: 24
09.07.2010, 10:40  [ТС] #10
Цитата Сообщение от fasked Посмотреть сообщение
если под другими программами ты понимаешь другие текстовые редакторы, то просто нужно открывать файлы в соответствующей кодировке, если такой возможности нет, то придется пользоваться каким-нибудь конвертором.
Нет, я имею ввиду другие проекты. Например, не консольные.
fasked
Эксперт С++
4934 / 2514 / 180
Регистрация: 07.10.2009
Сообщений: 4,311
Записей в блоге: 1
09.07.2010, 10:52 #11
Цитата Сообщение от evgeny1503 Посмотреть сообщение
Нет, я имею ввиду другие проекты. Например, не консольные.
в не консольных проектах проблем с кодировками нет. я что-то не очень понимаю о чем ты.
если проект неконсольный, то зачем пользоваться выводом в консоль
evgeny1503
3 / 3 / 0
Регистрация: 04.07.2010
Сообщений: 24
09.07.2010, 10:56  [ТС] #12
Точно. Я затупил. Новичок потому что=)
PB
Просто прогер
1279 / 1066 / 11
Регистрация: 13.03.2009
Сообщений: 2,502
09.07.2010, 11:26 #13
Цитата Сообщение от CyBOSSeR Посмотреть сообщение
Наоборот, надо поставить мультибайтовую (MBCS) вместо юникода (UNICODE).
Нет, как раз юникод рулит!
Русские шрифты в консоли - продолжение
Вложения
Тип файла: rar ConsoleUnicode.rar (1.6 Кб, 75 просмотров)
CyBOSSeR
Эксперт C++
2300 / 1670 / 86
Регистрация: 06.03.2009
Сообщений: 3,675
09.07.2010, 11:37 #14
Цитата Сообщение от PB Посмотреть сообщение
Нет, как раз юникод рулит!
Это понятно, я об ошибке:
Цитата Сообщение от evgeny1503 Посмотреть сообщение
Ошибка 1 error C2664: OemToCharBuffW: невозможно преобразовать параметр 2 из "char *" в "LPWSTR" c:\users\greeneyed\documents\visual studio 2010\projects\sdf\sdf\cpp866.h 12
Dragokas
Эксперт WindowsАвтор FAQ
15819 / 6667 / 804
Регистрация: 25.12.2011
Сообщений: 10,331
Записей в блоге: 16
18.06.2012, 23:34 #15
Цитата Сообщение от CyBOSSeR Посмотреть сообщение
надо поставить мультибайтовую (MBCS) вместо юникода (UNICODE).
После установки "мультибайтовой" теперь даже пустой проект выдает ошибку:
error C2731: main: функция не может быть перегружена
c:\users\alex\documents\visual studio 2010\projects\123456\123456\123456.cpp(19): см. объявление "main"
MS VS 2010 Express (Rus).

Как бороться?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.06.2012, 23:34
Привет! Вот еще темы с ответами:

Русские буквы консоли - C++
Знаю что таких тембыло очень много, но у меня никак не получается вывести слово &quot;Привет&quot; в консоли. Пробую так ...

Русские слова в консоли - C++
Здравствуйте,как сделать так что бы в консоли отображались слова setlocale(0,&quot;rus&quot;); я сделала,но вот беда если допустим задать русское...

Русские буквы в консоли - C++
У меня прекрастно выводятся русские буквы в консоль, но если я ввожу русский текст в какуюту переменную, то вывести ее коректно не...

Русские символы в консоли на другом компьютере - C++
Запускаю .exe консольной программы на другом компьютере - в ответ получаю иероглифы. На другом компьютере нет MSC10, на котором писалась...


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

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

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