Как получить беззнаковый 1 байт, знаковый 1 байт? Как получить singned long long и unsigned long long. нужно ли запрашивать по 1 байту и "докладывать"?
Какой принцип работы urandom, он хранит в себе все байты (0..255) но в случайном порядке, верно? Или от 0 до потолка 4 байт? Или от 0 до половины потолка 4 байт (как в окнах rand())? Или ещё как-то иначе? При перезапуске программы будут другие числа или те же? Если те же, то как начать сразу с N-ной итерации?
/dev/random не предлагать, интересует именно urandom.
Каждый байт из /dev/urandom это случайный набор из 8 бит.
Поэтому просто читайте байты в память переменной нужного вам типа.
В отличии от /dev/random в /dev/urandom всегда есть данные, поэтому можно использовать буферизированный ввод без опасения нарваться на непредсказуемо долгое ожидание ответа
(например, fread(&var, sizeof(var), 1, fdev_urandom);)
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости