fstream - заполнение указанного диапазона байт определённым значением
Имеется файл размер 10 байт с таким содержимым:
0x54 0x54 0x54 0x54 0x54 0x54 0x54 0x54 0x54 0x54
Необходимо в 3-й, 4-й, 5-й и 6-й байты записать значение, к примеру, 0x4C, т.е. должно получиться вот так:
0x54 0x54 0x54 0x4С 0x4С 0x4С 0x4С 0x54 0x54 0x54
Если использовать метод fstream write()
, то в качестве аргумента необходимо передавать ссылку на буфер, содержащий необходимые для записи данные.
А есть ли у fstream метод, в который можно передать 1 целевой байт и указать количество байт, в которые необходимо записать это значение? Т.е. как-то так:
my_file.seekp(3, std::ios::beg);
my_file.write_bytes((char*)"\x4C", 4);
Источник: Stack Overflow на русском