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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 19, средняя оценка - 4.79
Sanyaslinkz
44 / 44 / 6
Регистрация: 12.03.2011
Сообщений: 100
#1

Запись в .txt кириллицу - C++

23.09.2012, 12:43. Просмотров 2868. Ответов 10
Метки нет (Все метки)

Есть файл.В него идет запись.Открываю файл там кодировка вместо нужного мне текста.Как настроить кириллицу?
setlocale(LC_CTYPE, ""); вроде служит только для вывода на консоль кириллицу.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.09.2012, 12:43     Запись в .txt кириллицу
Посмотрите здесь:

Запись переменной в .txt - C++
//Lab1 #1 #include "stdafx.h" #include "iostream" #include "stdio.h" int main() { float a, b, c, v; printf("Rewenie...

Запись в файл txt - C++
studBeg = GetStud(hDlg); out.open("output.txt", ios_base::app); out << studBeg.fam << studBeg.imia <<...

Запись текста в файл txt - C++
Здравствуйте , подскажите как реализовать запись в файл, у меня что то не получается har name; puts("Введите термин:"); ...

Запись данных в файл txt - C++
записываю через for(int i=0;i<l;i++) f<<a.fio<<" "<<a.nomer<<" "<<a.inf<<" "<<a.inmov<<" "<<a.math<<" "<<a.fiz<<endl; Если...

Зависает запись в txt - файл - C++
#include <stdio.h> #include <stdlib.h> #include <time.h> #include <conio.h> #include <windows.h> #include <fstream> #include...

Запись данных в txt колонками - C++
Доброго времени суток! Подскажите как создать ТХТ файл в котором результат расчета функции записывается в колонки например А*В=Х ...

Запись 2мерного масива в txt - C++
у меня есть 2 мерный масив элементов типа инт и мне надо записать его в файл в виде матрици к примеру: 1 2 3 4 5 6 7 8 9 вот...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
alsav22
5416 / 4812 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
23.09.2012, 13:12     Запись в .txt кириллицу #2
Можно это попробовать:
C++
1
2
3
4
5
6
7
 #include <windows.h>
    
     // записать в начале функции main 
     // две следующих строки 
     
       SetConsoleCP(1251);
       SetConsoleOutputCP(1251);
В свойствах консоли выбрать шрифт: Lucida Console.
Петррр
5946 / 3383 / 336
Регистрация: 28.10.2010
Сообщений: 5,927
23.09.2012, 13:13     Запись в .txt кириллицу #3
C++
1
2
3
4
5
6
7
8
9
10
11
#include <iostream>
#include <fstream>
#include <locale>
 
int main()
{
    std::ofstream out("E:\\1.txt");
    out.imbue(std::locale(""));
    out << "привет";
    out.close();
}
Sanyaslinkz
44 / 44 / 6
Регистрация: 12.03.2011
Сообщений: 100
23.09.2012, 14:20  [ТС]     Запись в .txt кириллицу #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
using namespace std;
 
struct krolik {char pol; int vozrast; double massa;};
 
int main(void)
{ 
    setlocale(LC_CTYPE, "");
 
    FILE *f;
    krolik dat; 
    int n;
    char s[20];
    cin.getline(s, 20);
    f=fopen("d:\MyFile.txt", "wb");
    cout << "Сколько кроликов? "; cin >> n;
    for (int i=1; i<=n; i++)
        {   
            cout << "Какой пол у " << i << "го кролика? "; cin >> dat.pol;
            cout << "Сколько лет  " << i << "му кролика? "; cin >> dat.vozrast;
            cout << "Какой вес у " << i << "го кролика? "; cin >> dat.massa;
            fwrite(&dat, sizeof(krolik), 1, f);
        }
    fclose(f);
 
    return 0;
}
alsav22
5416 / 4812 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
23.09.2012, 15:03     Запись в .txt кириллицу #5
Цитата Сообщение от Sanyaslinkz Посмотреть сообщение
что то не помогает
Что не помогает? Где в коде предложения из 2 и 3 поста?
Invader_Zim
Twilight Parasite
153 / 149 / 2
Регистрация: 21.07.2011
Сообщений: 907
23.09.2012, 15:05     Запись в .txt кириллицу #6
А юникод это не труЪ, да?
alsav22
5416 / 4812 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
23.09.2012, 15:56     Запись в .txt кириллицу #7
Чтобы в файле был текст, пишите в файл в текстовом режиме.
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
#include <windows.h>
#include <iostream>
#include <fstream>
using namespace std;
 
struct krolik {char pol; int vozrast; double massa;};
 
int main(void)
{ 
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
 
    ofstream f("d:\\MyFile.txt");
    krolik dat; 
    int n;
    //char s[20];
    //cin.getline(s, 20);
    
    cout << "Сколько кроликов? "; cin >> n;
    for (int i=1; i<=n; i++)
        {   
            cout << "Какой пол у " << i << "го кролика? "; cin >> dat.pol;
            cout << "Сколько лет  " << i << "му кролика? "; cin >> dat.vozrast;
            cout << "Какой вес у " << i << "го кролика? "; cin >> dat.massa;
            f << dat.pol << " " << dat.vozrast << " " << dat.massa << endl;
        }
    f.close();
    
    system("pause");
    return 0;
}
Sanyaslinkz
44 / 44 / 6
Регистрация: 12.03.2011
Сообщений: 100
23.09.2012, 18:13  [ТС]     Запись в .txt кириллицу #8
alsav22, в вашем коде у меня при вводе символов на консоль не воспринимало русские символы, сразу переводило в кодировку. я поменял SetConsoleCP(1251); на SetConsoleCP(1049); и т.д, все заработало, НО в .txt русские не сохраняет , а сохраняет кодировкой в отличии от английских символов. К примеру какой пол у кролика я ввожу Ж , то в файле свой символ какой-то, а если F то F и записывает
igorrr37
1644 / 1272 / 133
Регистрация: 21.12.2010
Сообщений: 1,932
Записей в блоге: 7
23.09.2012, 18:46     Запись в .txt кириллицу #9
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
#include <windows.h>
#include <iostream>
#include <fstream>
using namespace std;
 
struct krolik {char pol[2]; int vozrast; double massa;};
 
int main(void)
{
    setlocale(LC_CTYPE, "Russian");
    ofstream f("out.txt");
    krolik dat;
    int n;
    cout << "Сколько кроликов? "; cin >> n;
    for (int i=0; i<n; i++)
        {
            cout << "Какой пол у " << i << "го кролика? "; cin >> dat.pol;
            cout << "Сколько лет  " << i << "му кролика? "; cin >> dat.vozrast;
            cout << "Какой вес у " << i << "го кролика? "; cin >> dat.massa;
            OemToCharA(dat.pol, dat.pol);
            f << dat.pol << " " << dat.vozrast << " " << dat.massa << endl;
        }
    f.close();
    return 0;
}
alsav22
5416 / 4812 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
23.09.2012, 19:47     Запись в .txt кириллицу #10
Цитата Сообщение от Sanyaslinkz Посмотреть сообщение
alsav22, в вашем коде у меня при вводе символов на консоль не воспринимало русские символы, сразу переводило в кодировку.
Цитата Сообщение от alsav22 Посмотреть сообщение
В свойствах консоли выбрать шрифт: Lucida Console.
А это сделали? ОС какая?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.09.2012, 12:27     Запись в .txt кириллицу
Еще ссылки по теме:

Чтение/запись из/в файл .txt - C++
Имеется файл названный stses формата txt, и вот его содержание: 3 Loyed 4 Greable 7 Otto 2 в методичке приведен пример...

Запись строк в разные .txt файлы - C++
Доброго времени суток! Очень хочу сделать запись строк в разные .txt файлы. Попытаюсь объяснить подробнее: Заполняем 1-ый массив...

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

Запись в файл txt построчно из <list> - C++
# include &lt;iostream&gt; # include &lt;list&gt; # include &lt;string&gt; # include &lt;fstream&gt; # include &lt;cstdio&gt; using namespace std; ...

Запись путей файлов в *.txt файл. - C++
Здравствуйте. Возник вопросик. С помощью чего можно организовать такое действие программы! Исполняемый файл программы ...


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

Или воспользуйтесь поиском по форуму:
-=ЮрА=-
Заблокирован
Автор FAQ
24.09.2012, 12:27     Запись в .txt кириллицу #11
Sanyaslinkz, посомтри сюда пригодится
Кодировка файла
Создание файла в UTF-8 кодировке
Yandex
Объявления
24.09.2012, 12:27     Запись в .txt кириллицу
Ответ Создать тему
Опции темы

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