Форум программистов, компьютерный форум, киберфорум
Наши страницы
C для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.50/6: Рейтинг темы: голосов - 6, средняя оценка - 4.50
the_TOP
0 / 0 / 1
Регистрация: 08.06.2014
Сообщений: 18
1

Запись в файл русского текста, непонятная кодировка

08.06.2014, 21:00. Просмотров 1153. Ответов 8
Метки нет (Все метки)

Хочу написать программу, записывающую в файл введенный с консоли текст на русском. Проблема в том, что файл создается в одной кодировке, а текст записывается в другой. Текст сохраняю в массиве. Пишу в массив, например, "Привет", Вывожу массив на экран - всё норм. Сохраняю массив в файл - ЇаЁўҐв.
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 <stdio.h>
#include <iostream>
#include <math.h>
#include <conio.h>
#include <stdlib.h>
 
void main()
{
setlocale(LC_CTYPE,"ru");
char filename[100];
FILE *fp=fopen("code.txt", "w");
if (fp!=NULL) //   Если файл успешно открыт
    {
    char stroka[255];
    gets(stroka);
    printf("%s",stroka);
 
    fprintf(fp, "%s", stroka);
 
    }
else printf("Не существует такого файла!");
 
 
int fclose (FILE * fp);
getch();
}
Прошу исправить ошибки, если есть, и выпрямить кодировку в коде. Заранее благодарен
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.06.2014, 21:00
Ответы с готовыми решениями:

Ввод русского текста из консоли в файл (проблема с кодировкой)
Здравствуйте! Стоит казалось бы тривиальная задача - считать из консоли...

Непонятная работа fgets и/или fwrite(запись в бинарный файл)
Не могу разобраться, в чем дело: Программа читает данные из файла...

Запись текста в файл\вывод его на экран\сохранение\считывание информации из файла
Ввести текст произвольного содержания в память ПЭВМ. Вывести на экран. Записать...

Не правильно работает функция GetSubstring для русского текста
Не правильно работает функция GetSubstring. Подскажи пожалуйста в чём причина....

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

8
zer0mail
2452 / 2089 / 216
Регистрация: 03.07.2012
Сообщений: 7,571
Записей в блоге: 1
08.06.2014, 21:38 2
http://zelserg.livejournal.com/2117.html
0
the_TOP
0 / 0 / 1
Регистрация: 08.06.2014
Сообщений: 18
08.06.2014, 21:57  [ТС] 3
Добавлено через 1 минуту
Ты меня, конечно, извини, но мне нужен готовый исходник. Мне просто некогда разбираться в переключении между кодировками, и нужно всего лишь, что бы всё работало.
0
GetHelp
60 / 61 / 11
Регистрация: 27.02.2013
Сообщений: 1,112
08.06.2014, 22:04 4
правой кнопкой по заголовку консоли\свойства\шрифт\Luicida Console
0
the_TOP
0 / 0 / 1
Регистрация: 08.06.2014
Сообщений: 18
08.06.2014, 22:11  [ТС] 5
Прикол в том, что в консоли как раз всё нормально отображается. Мусор записывается в сам файл code.txt
0
encodeMind
1 / 1 / 0
Регистрация: 05.03.2014
Сообщений: 27
08.06.2014, 22:12 6
Такая же проблема.
0
zer0mail
08.06.2014, 22:26
  #7

Не по теме:

Если такой занятый, жди...

0
alsav22
5442 / 4837 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
08.06.2014, 22:26 8
Лучший ответ Сообщение было отмечено the_TOP как решение

Решение

C++
1
2
3
4
5
6
7
8
#include <windows.h>
 
int main()
{
  SetConsoleCP(1251);
  SetConsoleOutputCP(1251);
  ...
}
В свойствах консоли выбрать шрифт: Lucida Console.
Установка шрифта Lucida Console
1
the_TOP
0 / 0 / 1
Регистрация: 08.06.2014
Сообщений: 18
08.06.2014, 22:43  [ТС] 9
Спасибо, выручил
0
08.06.2014, 22:43
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.06.2014, 22:43

Неверная кодировка текста
Уверен, что эта тему уже поднималась ранее. Собственно переписываю прогу с...

Кодировка текста путем сдвига символов
#include &lt;stdio.h&gt; char code(char *c, int n) { int i; for (i=0; c!=0;...

Неверная кодировка при сохранении данных в файл
Здравствуйте, подскажите пожалуйста, где в функциях save() и openf() может...


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

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

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