Преобразовать uint8 в uint8[]

В Vala для некоторых методов требуется массив uint8 (uint8[]) в качестве параметра. Например, см. http://valadoc.org/#!api=glib-2.0/GLib.FileStream.write

У меня есть следующий код, но я не знаю, как «привести» мое значение к массиву:

...
uint8 some_integer = 7;
desc.write(???, 1);
...

В C я бы просто сделал:

 ...
uint8 some_integer = 7;
fwrite(&some_integer, 1, 1, desc);
...

но компилятору Vala не нравится оператор &. Что делать?


person Genesis Rock    schedule 28.12.2013    source источник
comment
Вы пробовали desc.write({some_integer}, 1);?   -  person legends2k    schedule 29.12.2013
comment
Добавлю это как ответ :)   -  person legends2k    schedule 29.12.2013


Ответы (1)


Вы можете создать массив в Vala как int[] b = { 2, 4, 6, 8 };. Следовательно, вы также сможете создать его с одной переменной, например uint8 [] some_array = {some_integer};; в вашем случае desc.write({some_integer}, 1);.

Вот подробное руководство по Vala для получения дополнительной информации.

person legends2k    schedule 28.12.2013