Форум программистов, компьютерный форум, киберфорум
C/С++ под Linux
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.58/12: Рейтинг темы: голосов - 12, средняя оценка - 4.58
0 / 0 / 0
Регистрация: 14.01.2009
Сообщений: 35

Чтение файла в неродной кодировке из программы на Си

03.11.2010, 22:18. Показов 2394. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Подскажите, кто знает, как решить следующую проблему:
имеется файл на диске в кодировке cp1251.
при чтении его из программы на си получается ерунда.
Родной для системы является кодировка utf-8.
Соответственно нужно либо переконвертировать его перед чтением из программы или
сделать это в самой программе.
пробовал делать это путем вызова:
system ("iconv -f cp1251 -t utf-8 /tmp/file.txt -o /tmp/file1.txt");
но этот вариант не прокатил, так как iconv в данной системе не может выполнить перекодировку
в этом направлении.
также не помогли и econv и recode.
Возможно есть какой вариант сделать это средствами си?

PS переустановить iconv или доустановить другие утилиты просьба не предлогать-
система стоит не на персональном компьютере, поэтому выбор софта ограничен.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
03.11.2010, 22:18
Ответы с готовыми решениями:

Код не работает в кодировке unicode, но работает в многобайтной кодировке
Как переделать код, чтобы он работал в кодировке unicode? CHAR str; LRESULT CALLBACK...

Кодировка из Windows1251 в UTF-8, Кодировка из Windows1251 в UTF-8
Ребят помогите,достаю из интернета документ,загоняю его в Qstring , страница была не в UTF 8 а в...

Кодировки (ошибки кодировки) в логировании
Здравствуйте. Работаю с WINAPI и оттуда нормально приходят наименования на русском. Вот решил...

5
Временно недоступен
 Аватар для #pragma
957 / 228 / 14
Регистрация: 12.04.2009
Сообщений: 926
04.11.2010, 21:53
А setlocale не поможет?
http://www.cplusplus.com/refer... setlocale/
0
0 / 0 / 0
Регистрация: 14.01.2009
Сообщений: 35
04.11.2010, 22:06  [ТС]
спасибо, попробую.
0
4866 / 3288 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
05.11.2010, 07:07
Code
1
iconv -f cp1251 /tmp/file.txt -o /tmp/file1.txt
Добавлено через 47 секунд
man 3 iconv
Code
1
2
3
4
5
6
7
8
9
NAME
       iconv - perform character set conversion
 
SYNOPSIS
       #include <iconv.h>
 
       size_t iconv(iconv_t cd,
                    char **inbuf, size_t *inbytesleft,
                    char **outbuf, size_t *outbytesleft);
0
0 / 0 / 0
Регистрация: 14.01.2009
Сообщений: 35
05.11.2010, 07:45  [ТС]
если использовать ваш первый вариант,
то ответ система выдает такой:
Code
1
2
iconv: conversion from `cp1251' is not supported
Try `iconv --help' or `iconv --usage' for more information.
А вот о том, что в си есть встроенная iconv я действительно не знал,
именно ее я вечером и попытаюсь использовать.

Спасибо.
0
4866 / 3288 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
06.11.2010, 01:40
Bash
1
iconv --list
это не в си, а в gcc расширение
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
06.11.2010, 01:40
Помогаю со студенческими работами здесь

В чём отличия кодировки ms dos от кодировки ms windows?
Всем привет, подскажите в чём отличия кодировки ms dos от кодировки ms windows?

Что за кодировки нужно предварительно записать.Приведите пример какие нужны кодировки
Метод Монте-Карло является методом случайного поиска. Существенно сокращая вычислительные затраты,...

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

Неверная кодировка при чтении из файла
Добрый вечер! Пытаюсь прочитать файл. Текст посылаю в диалоговое окно. на выходе иероглифы. ...

Неверная кодировка при чтении из файла
Время доброе) Скажу сразу, что честно гуглил и рылся, но ответа так и не нашел. Пишу для себя...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Хочу заставить корпорации вкладываться в здоровье сотрудников: делаю мат модель здравосохранения
anaschu 22.03.2026
e7EYtONaj8Y Z4Tv2zpXVVo https:/ / github. com/ shumilovas/ med2. git
1С: Программный отбор элементов справочника по группе
Maks 22.03.2026
Установка программного отбора элементов справочника "Номенклатура" из модуля формы документа. В качестве фильтра для отбора справочника служит группа номенклатуры. Отбор по наименованию группы. . .
Как я обхитрил таблицу Word
Alexander-7 21.03.2026
Когда мигает курсор у внешнего края таблицы, и нам надо перейти на новую строку, а при нажатии Enter создается новый ряд таблицы с ячейками, то мы вместо нервных нажатий Энтеров мы пишем любые буквы. . .
Krabik - рыболовный бот для WoW 3.3.5a
AmbA 21.03.2026
без регистрации и смс. Это не торговля, приложение не содержит рекламы. Выполняет свою непосредственную задачу - автоматизацию рыбалки в WoW - и ничего более. Однако если админы будут против -. . .
1С: Программный отбор элементов справочника по значению перечисления
Maks 21.03.2026
Установка программного отбора элементов справочника "Сотрудники" из модуля формы документа. В качестве фильтра для отбора служит значение перечислений. / / Событие "НачалоВыбора" реквизита на форме. . .
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru