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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.70
coloc
погромист
410 / 246 / 15
Регистрация: 27.08.2012
Сообщений: 550
Завершенные тесты: 1
#1

Как задать кодировку при записи в файл или чтения из него - C++

03.01.2013, 18:34. Просмотров 1352. Ответов 2
Метки нет (Все метки)

У меня блокнот Notepad++, своей программой я записываю в некоторый текстовый файл все символы ASCII. Проблема вот в чем: программа отображает символы правильно, а блокнот крякозябры. Если я меняю кодировку в блокноте на такую, что он все нормально показывает, то моя программа открывает этот файл с другими символами

запись:
Кликните здесь для просмотра всего текста

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
    ofstream my ("1.txt");
    char a;
    for (int i = 0; i < 255; i++)
    {
        a = i;
        my << a;
        my << " ";
    }
    my.close();
    
    ifstream my2 ("1.txt");
    char b;
    for (int i = 0; i < 255; i++)
    {
        my2 >> b;
        cout << b;
    }


чтение:
Кликните здесь для просмотра всего текста

C++
1
2
3
4
5
6
7
ifstream my ("1.txt");
char b;
for (int i = 0; i < 255; i++)
    {
        my >> b;
        cout << b;
    }


ЗЫ только начал учить работу с файлами, сильно не ругайте

Добавлено через 45 минут
Что никто не знает как это решить?
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.01.2013, 18:34
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Как задать кодировку при записи в файл или чтения из него (C++):

Абракадабра при записи в файл и при чтении из него кириллицы - C++
#include &lt;iostream&gt; #include &lt;fstream&gt; using namespace std; int main() { ofstream f(&quot;text.dat&quot;); f &lt;&lt; &quot;Тест&quot;; ...

Как заблокировать файл на время чтения/записи? - C++
Как сделать такое? Чтоб другие программы не могли в этот момент писать в этот файл?

Как поток чтения (или записи) запихнуть в класс? - C++
Здравствуйте!!! Ребят, подскажите пожалуйста, собственно, как запихнуть в класс поток ifstream? Че-то я озадачен оказался *-) Без...

Как создать один файл для чтения и записи одновременно? - C++
Пробовал перезапись, но содержимое файла терялось while (file1.hasNext()) { file2.write(file.nextInt() + &quot; &quot;); ...

Как передать файл в функцию для записи/чтения (разные функции) - C++
Собственно сабж. Во первых есть вот такой блок в main: ofstream f1(&quot;F1.txt&quot;); cout&lt;&lt;&quot;Введите элементы в файл 1&quot;&lt;&lt;endl; for (i=0;...

Как открыть файл одновременно для чтения и для записи? - C++
Делаю вот так, но ничего не получается.:( std::fstream inOutCredit(&quot;credit.dat&quot;, std::ios::ate | std::ios::binary); if...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
vua72
415 / 415 / 85
Регистрация: 28.11.2010
Сообщений: 1,183
Завершенные тесты: 1
03.01.2013, 18:50 #2
У вас кодировка в блокноте по умолчание 1251, в консоле доса - 866, в редакторе вашой среды программирования или 1251 или utf8. Отсюда и проблемы.
0
coloc
погромист
410 / 246 / 15
Регистрация: 27.08.2012
Сообщений: 550
Завершенные тесты: 1
03.01.2013, 19:06  [ТС] #3
Я уже в блокноте сменил кодировку на досовскую, но все равно некоторые символы не так отображает, как программа
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.01.2013, 19:06
Привет! Вот еще темы с ответами:

Как задать кодировку для TextOut? - C++
Как задать кодировку для TextOut?

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

Как задать кодировку для заголовка окна? - C++
#include&lt;iostream&gt; #include&lt;windows.h&gt; using namespace std; int main() { SetConsoleCP(1251); SetConsoleOutputCP(1251); ...

Попытка чтения или записи в защищенную память - C++
собственно в проблема в заголовке #include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include &lt;fstream&gt; using namespace std; void...


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

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

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