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

Отображение кириллических символов из файла - C++

Восстановить пароль Регистрация
 
RostakaGmfun
 Аватар для RostakaGmfun
0 / 0 / 0
Регистрация: 22.12.2012
Сообщений: 10
20.06.2013, 12:30     Отображение кириллических символов из файла #1
Доброго времени суток, уважаемые форумчане!
У меня возник небольшой вопрос.
Мне надо прочитать текст с кириллическими символами из файла и вывести на консоль (а в дальнейшем и в приложение Windows Forms - но это не имеет особого значения в данной ситуации). Проблема в том, что кириллица отображается неправильно.
Вот код небольшого консольного приложения:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <string>
#include <fstream>
#include <iostream>
#include <stdio.h>
#include <tchar.h>
 
int _tmain(int argc, _TCHAR* argv[])
{
                    using namespace std;
                    ifstream f2;
                    f2.open("ReadMe.txt",ios::in);
                    string str;
                    f2>>str;
                    cout<<str;
                    cin.get();
                    return 0;
}
Результат работы приложения - набор кракозябр.
Надеюсь на помощь.
Спасибо за внимание.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.06.2013, 12:30     Отображение кириллических символов из файла
Посмотрите здесь:

C++ Отображение символов (букв)
C++ Замена всех кириллических букв на совпадающие с ними по написанию латинские
C++ Подсчитать, сколько было введено: латинских прописных букв, кириллических прописных букв, цифр, знаков переноса, прочих символов.
C++ Отображение ASCII символов в двоичном коде
C++ Неправильное отображение русских символов в string
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
igorrr37
 Аватар для igorrr37
1594 / 1222 / 118
Регистрация: 21.12.2010
Сообщений: 1,868
Записей в блоге: 7
20.06.2013, 12:49     Отображение кириллических символов из файла #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <string>
#include <fstream>
#include <iostream>
#include <stdio.h>
#include <tchar.h>
#include <windows.h>
 
int main()
{
    using namespace std;
    ifstream f2;
    f2.open("in.txt");
    string str;
    f2>>str;
    CharToOemA(str.c_str(), &str[0]);
    cout << str;
    cin.get();
    return 0;
}
behemoth
 Аватар для behemoth
44 / 30 / 7
Регистрация: 29.09.2012
Сообщений: 75
Записей в блоге: 1
20.06.2013, 12:50     Отображение кириллических символов из файла #3
C++
1
setlocale(LC_ALL,"");
This function is found in <locale.h>.
RostakaGmfun
 Аватар для RostakaGmfun
0 / 0 / 0
Регистрация: 22.12.2012
Сообщений: 10
20.06.2013, 13:08  [ТС]     Отображение кириллических символов из файла #4
Цитата Сообщение от igorrr37 Посмотреть сообщение
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <string>
#include <fstream>
#include <iostream>
#include <stdio.h>
#include <tchar.h>
#include <windows.h>
 
int main()
{
    using namespace std;
    ifstream f2;
    f2.open("in.txt");
    string str;
    f2>>str;
    CharToOemA(str.c_str(), &str[0]);
    cout << str;
    cin.get();
    return 0;
}
К сожалению, CharToOemA() не помогает.

Добавлено через 3 минуты
Цитата Сообщение от behemoth Посмотреть сообщение
C++
1
setlocale(LC_ALL,"");
This function is found in <locale.h>.
Насколько я знаю,эта функция только для консольных приложений, а мне еще надо это в Windows Froms использовать.
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
20.06.2013, 13:27     Отображение кириллических символов из файла #5
Русские шрифты в консоли
RostakaGmfun
 Аватар для RostakaGmfun
0 / 0 / 0
Регистрация: 22.12.2012
Сообщений: 10
20.06.2013, 17:12  [ТС]     Отображение кириллических символов из файла #6
Цитата Сообщение от alsav22 Посмотреть сообщение
Мне это реализовать придется еще и в приложении Windows Froms, так что этот вариант отпадает
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
20.06.2013, 17:20     Отображение кириллических символов из файла #7
Цитата Сообщение от RostakaGmfun Посмотреть сообщение
Мне надо прочитать текст с кириллическими символами из файла и вывести на консоль (а в дальнейшем и в приложение Windows Forms - но это не имеет особого значения в данной ситуации).
Цитата Сообщение от RostakaGmfun Посмотреть сообщение
Вот код небольшого консольного приложения:
Тогда вопрос нужно по другому поставить, а то непонятна проблема.
RostakaGmfun
 Аватар для RostakaGmfun
0 / 0 / 0
Регистрация: 22.12.2012
Сообщений: 10
20.06.2013, 17:26  [ТС]     Отображение кириллических символов из файла #8
Цитата Сообщение от alsav22 Посмотреть сообщение
Тогда вопрос нужно по другому поставить, а то непонятна проблема.
Действительно слегка протупил
MrGluck
Ворчун
Эксперт С++
 Аватар для MrGluck
4927 / 2670 / 243
Регистрация: 29.11.2010
Сообщений: 7,429
20.06.2013, 17:27     Отображение кириллических символов из файла #9
RostakaGmfun, если с формами, то лучше всего
C++
1
2
3
4
#include <windows.h>
 
SetConsoleCP(1251);
SetConsoleOutputCP(1251);
Добавлено через 37 секунд
Цитата Сообщение от RostakaGmfun Посмотреть сообщение
Windows Froms
From what?
RostakaGmfun
 Аватар для RostakaGmfun
0 / 0 / 0
Регистрация: 22.12.2012
Сообщений: 10
20.06.2013, 17:38  [ТС]     Отображение кириллических символов из файла #10
Добавлено через 37 секунд

From what?
Упс, опечатка...

Добавлено через 8 минут
Вывод тот же что и на консоле:
п»ї========================================================================
P.S
Никогда не думал, что возникнет проблема с отображением текста
MrGluck
Ворчун
Эксперт С++
 Аватар для MrGluck
4927 / 2670 / 243
Регистрация: 29.11.2010
Сообщений: 7,429
20.06.2013, 17:51     Отображение кириллических символов из файла #11
RostakaGmfun, если на консоли - то свойства - шрифт Lucida Console. А редактор в IDE в какой кодировке?
Вообще код не помешало бы увидеть.
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
20.06.2013, 18:22     Отображение кириллических символов из файла #12
RostakaGmfun, из файла вывод не получается? Если не из файла, то как? Файл в какой кодировке?

Добавлено через 4 минуты
Такой код как?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
#include <cstdlib>
#include <string>
#include <Windows.h>
using namespace std; 
 
int main()
{
   SetConsoleCP(1251);                
   SetConsoleOutputCP(1251);
 
   string str;
   cout << "Введите русский текст: ";
   getline(cin, str);
   cout << str << endl;
   
   system("pause");
   return 0;
}
RostakaGmfun
 Аватар для RostakaGmfun
0 / 0 / 0
Регистрация: 22.12.2012
Сообщений: 10
20.06.2013, 19:18  [ТС]     Отображение кириллических символов из файла #13
Вот, кстати, нашел очень похожий на мой вопрос - http://www.cyberforum.ru/cpp-builder/thread55057.html
Я собираюсь делать вывод текста приблизительно также:
C++
1
2
TextBox^ textbox = gcnew TextBox();
 textbox->Text = text; //text - то, что прочитано из файла
Добавлено через 9 минут
Цитата Сообщение от alsav22 Посмотреть сообщение
RostakaGmfun, из файла вывод не получается? Если не из файла, то как? Файл в какой кодировке?

Добавлено через 4 минуты
Такой код как?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
#include <cstdlib>
#include <string>
#include <Windows.h>
using namespace std; 
 
int main()
{
   SetConsoleCP(1251);                
   SetConsoleOutputCP(1251);
 
   string str;
   cout << "Введите русский текст: ";
   getline(cin, str);
   cout << str << endl;
   
   system("pause");
   return 0;
}
Кодировка файла - Юникод (создан ведь в Блокноте),чтение из файла и вывод прочитанного мне как раз и нужен
Код выше не помог - сплошные кракозябры.

Добавлено через 1 минуту
Цитата Сообщение от MrGluck Посмотреть сообщение
RostakaGmfun, если на консоли - то свойства - шрифт Lucida Console. А редактор в IDE в какой кодировке?
Вообще код не помешало бы увидеть.
Visual Studio 2010 , кодировка - Юникод.
MrGluck
Ворчун
Эксперт С++
 Аватар для MrGluck
4927 / 2670 / 243
Регистрация: 29.11.2010
Сообщений: 7,429
20.06.2013, 19:19     Отображение кириллических символов из файла #14
Цитата Сообщение от RostakaGmfun Посмотреть сообщение
Кодировка файла - Юникод
сохраните все в ANSI
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
20.06.2013, 19:21     Отображение кириллических символов из файла #15
Цитата Сообщение от RostakaGmfun Посмотреть сообщение
Код выше не помог - сплошные кракозябры.
Именно мой код пробовали?
В свойствах консоли установили шрифт Lucida Console?
RostakaGmfun
 Аватар для RostakaGmfun
0 / 0 / 0
Регистрация: 22.12.2012
Сообщений: 10
20.06.2013, 19:33  [ТС]     Отображение кириллических символов из файла #16
Цитата Сообщение от MrGluck Посмотреть сообщение
сохраните все в ANSI
Не помогло.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.06.2013, 20:15     Отображение кириллических символов из файла
Еще ссылки по теме:

C++ Корретное отображение русских символов
C++ Непонятка с кодами кириллических символов
Некоректное считывание кириллических символов C++

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

Или воспользуйтесь поиском по форуму:
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
20.06.2013, 20:15     Отображение кириллических символов из файла #17
На вопросы ответьте.
Цитата Сообщение от alsav22 Посмотреть сообщение
Именно мой код пробовали?
В свойствах консоли установили шрифт Lucida Console?
Добавлено через 6 минут
Раньше ввод/вывод русских символов в консоле делали?
Yandex
Объявления
20.06.2013, 20:15     Отображение кириллических символов из файла
Ответ Создать тему
Опции темы

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