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

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

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

Проблемы с кодировкой при подключении текстового файла - C++

23.04.2013, 21:32. Просмотров 1050. Ответов 26
Метки нет (Все метки)

Проблема вот в чем...В файле question.txt лежит вопрос, написанный по русски, но когда в консоле я вывожу содержимое "question.txt" на экран, то у меня "кракозябры"..Как сделать поддержку русского языка?? подскажите пжлст)))

C++
1
2
3
4
string question;
    ifstream is("question.txt");
    is>>question;
    cout<<"Ваш вопрос - "<<question<<endl;
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.04.2013, 21:32
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Проблемы с кодировкой при подключении текстового файла (C++):

Проблемы с кодировкой при сравнении строк - C++
Здравствуйте! Мне, нужно сравнить две строки: одну получаю get запросом(на сайте кодировка windows 1251), а вторая указывается...

Проблемы с кодировкой при выводе данных - C++
Пользуюсь хрюшей и VS 2008 Программа 1 #include &lt;fstream&gt; #include &lt;iostream&gt; #include &lt;string&gt; using namespace std; int main()...

Проблемы с кодировкой при переключении из Debug в Release в MSVS 2010 - C++
Собираю проект в режиме дебаг все символы норм отображаются,переключаю на релиз и одни кракозябры, в чем может быть дело ?

Проблемы с кодировкой - C++
Проблема в следующем: Нужно сравнить два слова на русском языке. Одно - читается с текстового файла, другое вводится с консоли. ...

Проблемы с кодировкой символов - C++
/*Письмо президенту*/ #include &lt;iostream&gt; #include &lt;fstream&gt; using namespace std; int main() { setlocale(LC_ALL,&quot;Russian&quot;); ...

Ошибка при подключении заголовочного файла - C++
Есть некий класс вот его заголовочный файл #include &lt;string&gt; class OSY { public: OSY(); void get(std::string &amp;x1, int...

26
IGPIGP
Комп_Оратор)
Эксперт по математике/физике
6952 / 3235 / 322
Регистрация: 04.12.2011
Сообщений: 8,928
Записей в блоге: 5
23.04.2013, 21:53 #2
Paradox10, для решения Вашей проблемы, надо знать в какой кодировке Ваш текст сохранён в файл. Если не знаете, то можно методом тыка. Есть файловый менеджер Far. В нем возможность просмотра файлов в разных кодировках. Наверное есть и ещё варианты.
1
Paradox10
0 / 0 / 0
Регистрация: 18.10.2012
Сообщений: 42
23.04.2013, 21:59  [ТС] #3
Цитата Сообщение от IGPIGP Посмотреть сообщение
надо знать в какой кодировке Ваш текст сохранён в файл
Смотрю через NotePad++ написано - "Кодировка ANSI"
0
IGPIGP
Комп_Оратор)
Эксперт по математике/физике
6952 / 3235 / 322
Регистрация: 04.12.2011
Сообщений: 8,928
Записей в блоге: 5
23.04.2013, 22:06 #4
Цитата Сообщение от Paradox10 Посмотреть сообщение
Смотрю через NotePad++ написано - "Кодировка ANSI"
При этом у Вас в окне блокнота нормальный текст или "кракозябры" (бр-р-р!)?
0
Paradox10
0 / 0 / 0
Регистрация: 18.10.2012
Сообщений: 42
23.04.2013, 22:07  [ТС] #5
Цитата Сообщение от IGPIGP Посмотреть сообщение
При этом у Вас в окне блокнота нормальный текст или "кракозябры" (бр-р-р!)?
В каком году была война вторая мировая война?

Абсолютно нормальный текст.
0
IGPIGP
Комп_Оратор)
Эксперт по математике/физике
6952 / 3235 / 322
Регистрация: 04.12.2011
Сообщений: 8,928
Записей в блоге: 5
23.04.2013, 22:10 #6
Цитата Сообщение от Paradox10 Посмотреть сообщение
В каком году была война вторая мировая война?
Была на протяжении нескольких, а ANSI-кодировок тоже ой не одна... Успехов!
1
Paradox10
0 / 0 / 0
Регистрация: 18.10.2012
Сообщений: 42
23.04.2013, 22:11  [ТС] #7
Стоп, вопрос вроде решился,теперь проблема в следующем, он считывает-выводи на экран первую букву в, т.е до пробела читает и все, убрал все пробелы прочитал весь вопрос, как сделать чтоб он читал по строчно ? т.е первый вопрос, первая строка, второй вопрос вторая строка...
0
Байт
Эксперт C
17649 / 11687 / 1863
Регистрация: 24.12.2010
Сообщений: 23,293
23.04.2013, 22:15 #8
Цитата Сообщение от IGPIGP Посмотреть сообщение
Есть файловый менеджер Far
Просто бальзам на сердце. Интересно, встречаются ли в наше время еще упоминания об этом нортон-подобном и совершенно гениальном менеджере. Но КОИ-8 он у меня так и не понял...
Есть еще Geany, предлагающий как-бы чертову кучу кодировок, но с ним я так и не разобрался.
Paradox10, кодировки - это общая наша беда. Это вот такая Вавилонская башня. Штука серьезная. И относится к ней надо с уважением.
Есть еще iconv, перекодирующий что угодно, куда угодно. С кучей DLL. Есть и для Винда, есть и для Иксов.
Дерзайте!
2
kravam
быдлокодер
1705 / 892 / 45
Регистрация: 04.06.2008
Сообщений: 5,524
23.04.2013, 22:19 #9
Надо файл прикладывать в таких случаях.
0
Paradox10
0 / 0 / 0
Регистрация: 18.10.2012
Сообщений: 42
23.04.2013, 22:20  [ТС] #10
Цитата Сообщение от kravam Посмотреть сообщение
Надо файл прикладывать в таких случаях.
В смысле?
У меня он считывает текст до пробела!!Как сделать чтоб он читал ВСЮ первую строку файла? вторую, третью и т.д, только по отдельности читал строки !!!
0
palva
3088 / 2222 / 375
Регистрация: 08.06.2007
Сообщений: 8,106
Записей в блоге: 4
23.04.2013, 22:25 #11
Цитата Сообщение от Байт Посмотреть сообщение
Но КОИ-8 он у меня так и не понял...
Существует плагин для КОИ-8.
2
IGPIGP
Комп_Оратор)
Эксперт по математике/физике
6952 / 3235 / 322
Регистрация: 04.12.2011
Сообщений: 8,928
Записей в блоге: 5
23.04.2013, 22:25 #12
Цитата Сообщение от Paradox10 Посмотреть сообщение
он считывает-выводи на экран первую букву в,
а так если:
std::getline(is,question);
0
Paradox10
0 / 0 / 0
Регистрация: 18.10.2012
Сообщений: 42
23.04.2013, 22:27  [ТС] #13
Цитата Сообщение от IGPIGP Посмотреть сообщение
std::getline(is,question);
Считывает, но букву В пропускает "В каком году была вторая мировая война?" почему так?
0
Байт
Эксперт C
17649 / 11687 / 1863
Регистрация: 24.12.2010
Сообщений: 23,293
23.04.2013, 22:30 #14
Цитата Сообщение от Paradox10 Посмотреть сообщение
У меня он считывает текст до пробела!!Как сделать чтоб он читал ВСЮ первую строку файла?
В чистом Си (<stdio.h>) есть fgets Логикой работы <iostrim> за ненадобностью не интересовался. Видимо, он ведет себя как-то наподобие scanf (самое неудачное творение K&R).
Но наверное, должны быть какие-то модификаторы, как в scanf, говорящие, что тебе нужен весь текст до конца строки. Попробуй поискать. Потом нам расскажешь

Добавлено через 1 минуту
Цитата Сообщение от palva Посмотреть сообщение
Существует плагин для КОИ-8
В моем комплекте нету! Как хоть его зовут?
0
Paradox10
0 / 0 / 0
Регистрация: 18.10.2012
Сообщений: 42
23.04.2013, 22:33  [ТС] #15
Цитата Сообщение от IGPIGP Посмотреть сообщение
а так если:
std::getline(is,question);
А как считать вторую строку??
0
23.04.2013, 22:33
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.04.2013, 22:33
Привет! Вот еще темы с ответами:

Куча ошибок при подключении заголовочного файла - C++
Вот только установил новую VS, создал проект, написал лишь #include &lt;iostream&gt; и тут... вылазит куча ошибок В чем проблема?

Ошибка при подключении файла Sales_item.h из примера в книге - C++
Делаю маленькие шажки по книге &quot;C++ базовый курс 2014&quot; Скачал файл &quot;Sales_item.h.&quot;, добавил в проект. После этого выдает ошибку...

Добавить в конец первого текстового файла содержимое второго текстового файла - C++
Даны два текстовых файла. Добавить в конец первого файла содержимое второго файла.

При подключении заголовочного файла появляются ошибки переопределения функций - C++
Знаю, что эта тема размусолена, но попрошу немного добра. Пишу отдельный модуль с процедурами обработки двусвязного списка. При...


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

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

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