1. Мегаконкурс в апреле "Приведи друзей на codeby". Дарим деньги, подписку на журнал хакер и выдаем статус "Paid Access". Подробнее ...

    Скрыть объявление

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

Тема в разделе "Borland C++ Builder & Kylix", создана пользователем monsters, 29 апр 2011.

Наш партнер Genesis Hackspace
  1. monsters

    monsters Гость

    Код (C++):
    FILE * outf;
    outf = fopen ("text.xls","w");
    fputs("мама мыла раму",outf);
    открываю файл и вижу там вместо кириллици
    Как это исправить?
     
  2. monsters

    monsters Гость

    Уверен есть способ проще, но за незнанием этого способа как всегда сделал через жо...
    Код (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); //вывожу результат
    }
    ну и после всего этого строку с новой кодировкой записываю в файл
     
Загрузка...

Поделиться этой страницей