Модераторы: Daevaorn
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Сокрытие информации файлах, Вопросы по операциям с текстовым файлами 
:(
    Опции темы
dips
Дата 6.5.2010, 21:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 16
Регистрация: 12.5.2006

Репутация: нет
Всего: нет



Доброго времени суток!
Существует задача - есть текстовый файл, текст находящийся в нём нужно перевести сначала в десятичный формат, затем в двоичный, заменить нули пробелами единички табуляцией затем разделить на n частей и дописать в другие файлы. Не могу найти информации по переводу текста в другие форматы, может быть кто нибудь сталкивался, буду рад примерам\ссылкам на литературу по данному вопросу.
PM MAIL   Вверх
Ozerich
Дата 6.5.2010, 23:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 164
Регистрация: 2.8.2009
Где: Минск, Беларусь

Репутация: нет
Всего: 5



Тебе в 
Центр помощи надо
--------------------
C++(STL) / DHTML(CSS) / Javascript / PHP  Developer
PM MAIL ICQ Skype   Вверх
dips
Дата 7.5.2010, 06:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 16
Регистрация: 12.5.2006

Репутация: нет
Всего: нет



Разобрался, так как тут не нашёл нигде на всякий выложу мой код, может кому и пригодится
З.ы. Писал ночью, кривовато конечно но сроки)
Код

        ifstream infile;
        TStringList *sl = new TStringList;  //Это в принципе убрать бы, билдеровская, ну да пусть будет
        infile.open(EFPath->Text.c_str(),ios_base::in);
        char string[1000];
        while(true)
        {
                infile.getline(string,sizeof(string));
                sl->Add(string);
                if(infile.peek() == EOF)
                        break;
        };

        AnsiString *binfile = new AnsiString[sl->Count];
        AnsiString tmp;
        for(int i = 0; i < sl->Count; i++)
        {
                binfile[i] = "";
                for(int j = 1; j <= sl->Strings[i].Length(); j++)
                {
                        char source = sl->Strings[i][j]; //Собственно тут по символьно перевожу в char а его уже в bin
                        binfile[i] += DectoBin(source);
                };
                AnsiString tmpstr = "";
                for(int j = 1; j <= binfile[i].Length(); j++)
                {
                        AnsiString tmp1 = binfile[i][j];
                        AnsiString tmp2 = "0";
                        AnsiString tmp3 = "1";
                        if(strcmp(tmp1.c_str(),tmp2.c_str()) == 0)
                                tmpstr += " ";
                        else if(strcmp(tmp1.c_str(),tmp3.c_str()) == 0)
                                tmpstr += '\t';
                };
                binfile[i] = tmpstr;
        }


Ну и код ф-ии преобразования, таких в инете полно
Код

long DectoBin(int x1)
{  
    int i, b;  
    long c = 0;
    for(i=0;x1 > 0;i++)  
    {
        b = x1 % 2;  
        x1 = (x1-b)/2;
        c += b * pow(10,i);
    }
        return c;
}


Разбивка на куски итд думаю тут не актуальна - слишком просто.

Это сообщение отредактировал(а) dips - 7.5.2010, 06:05
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0680 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.