запись строк в файл (кирилица)

  • Автор темы monsters
  • Дата начала
M

monsters

Гость
#2
Уверен есть способ проще, но за незнанием этого способа как всегда сделал через жо...
C++:
char utf_8[64]={"абвгдежзийклмнопрстуфхцчшщъыьэюяАБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ"};
AnsiString cp_1251[64]={"Р°","Р±","РІ","Рі","Рґ","Рµ","Р¶","Р·","Рё","Р№","Рє","Р»","Рј","РЅ","Рѕ","Рї","СЂ","СЃ","С‚","Сѓ","С„","С…","С†","С‡","С€","С‰","СЉ","С‹","СЊ","СЌ","СЋ","СЏ","Рђ","Р‘","Р’","Р”","Р”","Р•","Р–","Р—","Р","Р™","Рљ","Р›","Рњ","Рќ","Рћ","Рџ","Р ","РЎ","Рў","РЈ","Р¤","РҐ","Р¦","Р§","РЁ","Р©","РЄ","Р«","Р¬","Р­","Р®","РЇ"};
AnsiString convert; //сюда будет помещаться результат
int i, m, n;

void __fastcall TForm1::Button1Click(TObject *Sender)
{
convert="";
for (i = 0; i < Edit1->Text.Length(); i++)
{
n=0;
for (m = 0; m < 64; m++)
{
if (Edit1->Text.c_str()[i]==utf_8[m])
{
convert=convert+cp_1251[m];
n=1;
}
}
if (n==1)
{
convert=convert+Edit1->Text.c_str()[i]; //текст для перекодировки беру из Edit1->Text
}
}
ShowMessage(convert); //вывожу результат
}
ну и после всего этого строку с новой кодировкой записываю в файл