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

Кодировка файла - C++

Восстановить пароль Регистрация
 
 
Рейтинг: Рейтинг темы: голосов - 37, средняя оценка - 4.73
zago-vlad
13 / 8 / 1
Регистрация: 12.01.2010
Сообщений: 106
26.10.2011, 01:36     Кодировка файла #1
Всем привет!
Есть файл file.txt в кодировке windows-1251. Нужно написать программу, которая перекодирует этот файл в UTF-8.
Заранее огромное спасибо!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.10.2011, 01:36     Кодировка файла
Посмотрите здесь:

Кодировка в C C++
C++ Кодировка текста в c++
Сбитая кодировка C++
Кодировка C++
Неверная кодировка при чтении из файла C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
isaak
101 / 38 / 9
Регистрация: 17.10.2010
Сообщений: 634
11.02.2012, 23:02     Кодировка файла #21
-=ЮрА=- ваша программа запускается с ошибкой, не могу понять вроде компилируется без ошибок. Заранее огромное спасибо.
Миниатюры
Кодировка файла  
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
-=ЮрА=-
Заблокирован
Автор FAQ
11.02.2012, 23:29     Кодировка файла #22
isaak, WCHAR lpszW[] = L"Это текст программы";

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
#include <fstream>
#include <windows.h>
using namespace std;
 
int main()
{
    WCHAR  lpszW[] = L"Это текст программы";
 
    long uLen = WideCharToMultiByte(CP_UTF8, 0, lpszW,   -1,  NULL, NULL, NULL, NULL);
    char * str = new char[uLen];//Можно конечно и str[32]
    //но в данном случае первый раз вызывал WideCharToMultiByte чтобы определить
    //необходимую длинну uLen для конвертации WCHAR ;)
    WideCharToMultiByte(CP_UTF8, 0, lpszW, uLen,  str , uLen, NULL, NULL);
    ofstream ofs("UTF-8.txt");
    ofs<<str;
    ofs.close();
    system("pause");
    return 0;
}
Добавлено через 2 минуты

Не по теме:

Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
[]
- isaak, без этого - примерно вот такое пытался сделать
C++
1
2
char lps = "Это текст программы";//т.е присвоить отдельному символу целый строковый литерал, 
//понятное дело такое преобразование компилятору "не понравилось":) ибо оно ошибочно:pardon:

MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.02.2012, 23:32     Кодировка файла
Еще ссылки по теме:

Неверная кодировка при считывании из файла C++
C++ Кодировка чтения файла
Неверная кодировка при чтении из файла C++

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

Или воспользуйтесь поиском по форуму:
retmas
Жарю без масла
803 / 685 / 143
Регистрация: 13.01.2012
Сообщений: 1,580
11.02.2012, 23:32     Кодировка файла #23
LPWSTR это уже wchar_t*
просто тут
C++
1
char str[32];
недостаточен размер буфера
Yandex
Объявления
11.02.2012, 23:32     Кодировка файла
Ответ Создать тему
Опции темы

Текущее время: 01:33. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru