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

Некорректно читаются данные из бинарного файла - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Поразрядный оператор И, и его работа http://www.cyberforum.ru/cpp-beginners/thread644267.html
void disp(unsigned u){ for(int t = 128; t > 0; t = t/2) if(u & t)cout << "1 "; else cout << "0 "; cout << endl; Скажем "u = 1", далее - переобразование: 0000 0001 & 1000 0000, 0100 0000, 0010 0000, 0001 0000, 0000 1000, 0000 0100, 0000 0010, 0000 0001, цикл завершон. Самое интересное как оператор переобразует, сравнивает и выводит на экран << 0000 0001 ? Или я чтото непонимаю.
C++ Как в signed char помещается диапазон -128,127 ведь если 127 это 01111111, то -127 должно быть 11111111 Добрый вечер! ломаю голову над тем, как в signed char помещается диапазон -128,127 ведь если 127 это 01111111, то -127 должно быть 11111111, а чему же тогда равно -128 в binary? http://www.cyberforum.ru/cpp-beginners/thread644251.html
Устройство антивирусной программы C++
Всем привет. Предстоит разработка антивирусного программного обеспечения на С++. Подскажите какую-нибудь литературу, где подробно рассматривается работа антивируса.
C++ Как понять данный кусок кода
Имеется некий абстрактный класс. от него имеется производный класс Задание работа с данными(чтение из файла, запись в файл) средствами Си и С++ Имеется кусок когда, помогите пожалуйста разобрать class Plate: public AbstractPlate { public: // Конструктор класса. Plate(){} // Перегрузки операций помещения в поток и выборки из потока. // Для ввода в файл.
C++ Typename и Class http://www.cyberforum.ru/cpp-beginners/thread644206.html
Между записью template <class T> и template <typename T> нет никакой разницы?
C++ Шаблоны и error C2664 Всем доброго времени суток!!! В общем, есть класс template <class Info> class SimpleClientManager { public: SimpleClientManager(unsigned int max_cnt); virtual ~SimpleClientManager(); virtual bool insert(ClientInfo<Info> *client); подробнее

Показать сообщение отдельно
alsav22
5416 / 4812 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
30.08.2012, 12:13     Некорректно читаются данные из бинарного файла
Цитата Сообщение от smertnik Посмотреть сообщение
записал 369 байт и получилась копия path.c_str() без 0D
У вас в файле, что один 0D? А 0А куда дели? Если вы записали на 5 байт меньше, это не значит, что избавились от 5 символов 0D. Я не вижу в коде, как происходит избавление от 0D и от 0А. Как определяете размер файла? Если у вас файл 369 байтов, откуда появляются ещё 5? strlen() показывает количество печатных символов, без '\n' и '\r'.

Добавлено через 13 минут
Для того, чтобы узнать сколько байт в файле, нужно открыть его для чтения в бинарном режиме и сделать следующее:
C++
1
2
3
fstream f("1.txt", ios::in | ios::binary);
f.seekg(0, ios::end);
cout << f.tellg() << endl;
Добавлено через 11 минут
Я не знаю способа избавиться, при бинарном чтении/записи, от определённых символов, кроме как побайтового чтения/записи и анализа каждого байта, или обработки считанного массива для избавления от ненужных символов и последующей записи в файл.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru