Я пишу в файл по одному байту за раз в C ++.Пока у меня есть такой код:
if ( i == 0 ) { outputfile << '\x0';}
if ( i == 1 ) { outputfile << '\x1';}
....
if ( i == 254 ) { outputfile << '\xfe';}
if ( i == 255 ) { outputfile << '\xff';}
Он работает, но, как вы можете себе представить, это дополнительные 255 строк.Если бы я использовал Python, это было бы так просто:
output.write(bytes((i,)))
Есть ли более простой способ записать однобайтовые целые числа в байты?Как максимум пары строк кода?
Я пытался использовать char и некоторые преобразования за последний день, но я совсем не умею обращаться с этим типом данных.Файл, который я пишу, оказывается поврежденным.Несмотря на то, что размер файла у меня правильный, он занимает больше места на диске, чем нужно, когда я пытаюсь таким образом.
Спасибо за чтение