Я пытаюсь pwrite
некоторые данные с некоторым смещением файла с заданным дескриптором файла.Мои данные хранятся в двух векторах.Один содержит unsigned long
с, а другой char
с.
Я думал о создании void *
, который будет указывать на битовую последовательность, представляющую мои unsigned long
s и char
s, и передавать ее в pwrite
вместе с накопленным размером.Но как я могу разыграть unsigned long
до void*
?(Я думаю, я могу выяснить для символов).Вот что я пытаюсь сделать:
void writeBlock(int fd, int blockSize, unsigned long offset){
void* buf = malloc(blockSize);
// here I should be trying to build buf out of vul and vc
// where vul and vc are my unsigned long and char vectors, respectively.
pwrite(fd, buf, blockSize, offset);
free(buf);
}
Кроме того, если вы считаете, что моя идея не подходит, я буду рад прочитать предложения.