Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

Войти
Регистрация
Восстановить пароль
 
Benzema
0 / 0 / 0
Регистрация: 29.03.2015
Сообщений: 58
#1

Иероглифы в выводе - C++

27.09.2015, 22:24. Просмотров 404. Ответов 4
Метки нет (Все метки)

Здравствуйте! Уже много тем таких прочитал, по выводу иероглифов в программе. Но все равно у меня в выводе после "Новая строка" выводятся иероглифы. Подскажите пожалуйста как решить проблему.
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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
#include <iostream>
#include <vector>
#include <string>
#include <conio.h>
#include <windows.h>
 
using namespace std;
 
int main()
{
    setlocale(LC_CTYPE, "Russian");
    string line;
    string word;
    cout << "Введите строку:" << endl; //Введите строку.
    getline(cin, line);
    line += ' ';
    cout << "Введите слово:" << endl; //Введите слово.
    getline(cin, word);
    vector<string> words;
    string str = "";
    for (unsigned int i = 0; i < line.size(); i++)
    {
        if (line[i] != ' ')
        {
            str += line[i];
        }
        else {
            words.push_back(str);
            str = "";
        }
    }
    unsigned int maxSize = 0;
    for (unsigned int i = 0; i < words.size(); i++)
    {
        if (words[i].size() > maxSize)
        {
            maxSize = words[i].size();
        }
    }
    line = "";
    for (unsigned int i = 0; i < words.size(); i++)
    {
        if (words[i].size() == maxSize)
        {
            words[i] = word;
        }
        line += words[i] + ' ';
    }
    cout << "Новая строка:" << endl << line << endl; //Вывод новой строки.
    system("pause");
    return 0;
}
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.09.2015, 22:24
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Иероглифы в выводе (C++):

Иероглифы в выводе и капризный SET_LOCALE - C++
Здравствуйте, форумчане! Изучаю я СиПлюПлюс по книжке дяди Шилдта. Есть тут задание на построение &quot;таблицы&quot;. Но при выводе ( даже с...

Кирилица отображается нормально при выводе из программы, но иероглифы при вводе в консоль - C++
Что надо подключить что бы в консоли писать русскими буквами? cin &gt;&gt; kol; cin &gt;&gt; x; cout &lt;&lt; &quot;У вас есть &quot; &lt;&lt; kol &lt;&lt; &quot; &quot; &lt;&lt; x; ...

RSA - иероглифы - C++
Привет всем! Возникла проблема. Есть программа на RSA (честно, помогали люди) - но почему - то при шифровании выводит иероглифы, и мне...

Выводит иероглифы - C++
Есть массив строк, заполняю его нужной инф. и вывожу. string ans = { &quot;mon&quot;, &quot;tue&quot;, &quot;wed&quot;, &quot;thu&quot;, &quot;fri&quot;, &quot;sat&quot;, &quot;sun&quot; }; void...

MessageBox выводит иероглифы - C++
MessageBox(NULL, reinterpret_cast&lt;LPCTSTR&gt;(&quot;Hello world&quot;), reinterpret_cast&lt;LPCTSTR&gt;(&quot;windows&quot;), MB_OK); Почему вместо строк Hello world...

Иероглифы после CharToOemA - C++
Подскажите, почему после казалось бы простейшей операции в &quot;buf&quot; оказываются каракули? setllocale вроде не помагает .... Каракули я вижу в...

4
nmcf
6207 / 5518 / 1932
Регистрация: 14.04.2014
Сообщений: 23,169
27.09.2015, 23:00 #2
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
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 <algorithm>
//...
    setlocale(LC_CTYPE, "Russian");
    string line;
    string word;
    cout << "Введите строку:" << endl; //Введите строку.
    getline(cin, line);
 
    vector<char> tmp(line.length());
    std::copy(line.begin(), line.end(), tmp.begin());
    tmp.push_back('\0');
    OemToCharA(tmp.data(), tmp.data());
    std::copy(tmp.begin(), tmp.end() - 1, line.begin());
 
    line += ' ';
    cout << "Введите слово:" << endl; //Введите слово.
    getline(cin, word);
 
    tmp.resize(word.length());
    std::copy(word.begin(), word.end(), tmp.begin());
    tmp.push_back('\0');
    OemToCharA(tmp.data(), tmp.data());
    std::copy(tmp.begin(), tmp.end() - 1, word.begin());
 
    vector<string> words;
//...
1
Benzema
0 / 0 / 0
Регистрация: 29.03.2015
Сообщений: 58
27.09.2015, 23:11  [ТС] #3
Цитата Сообщение от nmcf Посмотреть сообщение
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 <algorithm>
//...
    setlocale(LC_CTYPE, "Russian");
    string line;
    string word;
    cout << "Введите строку:" << endl; //Введите строку.
    getline(cin, line);
 
    vector<char> tmp(line.length());
    std::copy(line.begin(), line.end(), tmp.begin());
    tmp.push_back('\0');
    OemToCharA(tmp.data(), tmp.data());
    std::copy(tmp.begin(), tmp.end() - 1, line.begin());
 
    line += ' ';
    cout << "Введите слово:" << endl; //Введите слово.
    getline(cin, word);
 
    tmp.resize(word.length());
    std::copy(word.begin(), word.end(), tmp.begin());
    tmp.push_back('\0');
    OemToCharA(tmp.data(), tmp.data());
    std::copy(tmp.begin(), tmp.end() - 1, word.begin());
 
    vector<string> words;
//...
Спасибо большое! Извините за глупый вопрос, но как правильно объяснить, что Вы сделали?
0
nmcf
6207 / 5518 / 1932
Регистрация: 14.04.2014
Сообщений: 23,169
27.09.2015, 23:19 #4
Перекодировка из 866 в 1251.
1
Benzema
0 / 0 / 0
Регистрация: 29.03.2015
Сообщений: 58
27.09.2015, 23:31  [ТС] #5
Цитата Сообщение от nmcf Посмотреть сообщение
Перекодировка из 866 в 1251.
спасибо Вам еще раз!
0
27.09.2015, 23:31
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.09.2015, 23:31
Привет! Вот еще темы с ответами:

Иероглифы в MV C++ 2008 express - C++
День добрый! Собственно вот: http://rghost.ru/41562218.view . Как исправить?

Китайские иероглифы в файле - C++
Вечер в хату, падсаны. Заметил очень забавную вещь: вроде ничего такого в коде странного нет, но почему то в файл выводятся одни...

Выводит из файла иероглифы - C++
Здравствуйте! Программа должна запрашивать: ФИО, курс обучения, специальность и имя файла, а потом прочитать все данные из файла. Но когда...

Иероглифы при чтении из файла - C++
Привожу код, в котором создаю, файл записываю в него данные. Затем пытаюсь их считать, выводит иероглифы... Что не так?. Спасибо. ...


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

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

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