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

русификация выводимого из переменных текста - C++

Восстановить пароль Регистрация
 
Tiva
94 / 94 / 1
Регистрация: 25.04.2012
Сообщений: 429
04.05.2012, 16:23     русификация выводимого из переменных текста #1
например есть задание:
Структура AEROFLOT с полями:
- название пункта назначения рейса;
- тип самолета.
Действия с массивом структур»:
- сортировка записей в массиве по названиям пунктов назначе-
ния в алфавитном порядке и вывод его на экран компьютера;
написал структуру, она заполняется и выводится на экран консоли, все отлично, НО

если ввести русские символы, то выводится какой-то бред(ну т.е. разница в кодировках)

как сделать, чтобы выводился русский текст, если ввел по-русски, и можно было сортировать?
в гугле нахожу только варианты сетлокал и чартуоем, первое не то (не решает проблему) а второе не удобно(или не совсем понятно, напишите пример как моя программа бы выглядела через чартуоем?)
vs 2008

саму сортировку я не прошу писать, мне только надо чтобы ВСЕ было по-русски

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#include <iostream>
using namespace std;
#include <locale>
struct first
{
    char dest[15];
    char plane[10];
};
 
int main(void)
{
    setlocale(0,"");
    int n,i,j, b;
    struct first  *f;
    cout<<"Введите количество рейсов:\n";
    cin>>b;
    f = new struct first[b];
    cout<<"Введите пункт назначения и тип самолета\n";
    for (i=0; i<b; i++)
        cin>>f[i].dest>>f[i].plane;
    cout<<endl;
    for (i=0; i<b; i++)
        cout<<f[i].dest<<" "<<f[i].plane<<endl;
    return 0;
 
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.05.2012, 16:23     русификация выводимого из переменных текста
Посмотрите здесь:

C++ Русификация Си++ с помощю препроцессора и #define
C++ как сделать вывод текста, результата и продолжение текста
C++ Русификация при помощи класса.
C++ Даны 5 переменных a,b,c,d,e - необходимо каждой из этих переменных присвоить число из текстового документа
Русификация.Работает-супер! Обьяснитте, как это работает? C++
TextOut как избавиться от выводимого им мусора? C++
Русификация вывода C++
Увеличить размер выводимого текста (увеличить буквы) функции outtextxy C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
panicwassano
590 / 558 / 20
Регистрация: 07.11.2010
Сообщений: 2,004
04.05.2012, 18:16     русификация выводимого из переменных текста #2
Цитата Сообщение от Tiva Посмотреть сообщение
если ввести русские символы, то выводится какой-то бред(ну т.е. разница в кодировках)
SetConsoleCP(1251)
SetConsoleOutputCP(1251)
include <Windows.h>
Далее обязательно меняем шрифт в консоли, т.к. шрифт по умолчанию русский не отобразит вам в этой кодировке!

Добавлено через 1 минуту
либо спользоваться CharToOem и OemToChar
Nerock
8 / 7 / 0
Регистрация: 02.05.2012
Сообщений: 92
04.05.2012, 18:56     русификация выводимого из переменных текста #3
Я пользуюсь функцией с тооемом:
C++
1
2
3
4
5
6
7
8
9
10
char* rus( char* str )
{
static char buf[10][256];
static int idx = 0;
  idx++;
  if ( idx == 10 )
    idx = 0;
  CharToOem(str, buf[idx]);
  return buf[idx];
}
перед каждой фразой ставишь rus, и заключаешь фразу в скобки
Yandex
Объявления
04.05.2012, 18:56     русификация выводимого из переменных текста
Ответ Создать тему
Опции темы

Текущее время: 19:44. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru