Перейти к содержимому
Korean Random
Pavel3333

Лишний раз записывается буфер в файл. [C++][Решено]

Рекомендуемые сообщения

(редактировалось)

int main()
{
	char buff[4];
	std::ifstream file("Hull_mask.primitives", std::ifstream::binary);
	std::ofstream out("Hull_mask_enc.primitives", std::ifstream::binary);
	while (file) {
		file.read((char*)&buff, sizeof buff);
		out.write((char*)&buff, sizeof buff);
	}
	file.close();
	system("pause");
	return 0;
}

лишний раз записывается содержимое буферной переменной.

post-18657-0-89180700-1505599385_thumb.png

Решил так:

	while (file) {
		file.read((char*)&buff, sizeof buff);
		if (!file.eof())
			out.write((char*)&buff, sizeof buff);
Изменено пользователем Pavel3333
  • Нравится 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Это не C++ way)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Это не C++ way)

А я по-всякому пробовал. Если делать file >> buff, это работает до первого нулевого символа. То есть дальше 7 байт я не уйду.

StreamReader? Не люблю CLR, только хардкор. :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас


  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу

×