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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> [C++ WinAPI]Байты - запись, чтение, преобразование 
:(
    Опции темы
Emura
Дата 27.4.2009, 20:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Alca, спасибо за пример, получил полезную информацию.

вот собственно что навоял  

Код

        int size            =0;    
        
        //----------------------------------------------
        // пишем
        //----------------------------------------------

        int    w1                =666;
        std::string w2        =_T("строка для теста");
        
        std::ofstream fo;
        fo.open("test.txt", ios_base::binary);
        if(!fo.is_open()){/*error*/}
        
        // получим размер блока
        size = sizeof(w1);
        // запишем размер блока и сам блок
        fo.write((char*)&size, sizeof(int));    
        fo.write((char*)&w1, sizeof(int));
        
        // получим размер блока
        size = w2.size();
        // запишем размер блока и сам блок
        fo.write((char*)&size, sizeof(int));    
        fo.write(w2.c_str(), w2.size());
        
        fo.close();



        //----------------------------------------------
        // читаем
        //----------------------------------------------

        size    =0;    
        
        int            r1    =0;
        std::string r2;

        std::ifstream fi(_T("test.txt"), ios_base::binary);
        if(!fi.is_open()){/*error*/}
        
        fi.read((char*)&size, sizeof(int));    // читаем размер блока
        fi.read((char*)&r1, size);            // читаем сам блок
        
        fi.read((char*)&size, sizeof(int));    // читаем размер блока
        fi.read((char*)&r2[0], size);        // читаем сам блок

        fi.close();



покритикуйте плз. 

родились пару вопросов:
1. зачем указывать  все время (char*) ?... хотя это и не влияет на результат, при использовании не чара.
2. до каких размеров информации адекватно использовать данный способ?
3. и еще. если stream не закрыть, то файл возможно удалить (видимо это можно сделать и при чтении\записи) smile при CreateFile\WriteFile ит.п. пока не закрыли хандлер доступа "из вне" нет. как бы вот сделать такое же поведение?


PM   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
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.0971 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


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

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