Here are some more dd examples anyway:
dd bs=5000 seek=1 if=/dev/null of=./H.txt
...which creates (or truncates) a \0NUL filled file in the current directory named H.txt of size 5000 bytes. dd seeks straight to the offset and NUL-fills all behind it.
<&1 dd bs=5000 conv=sync,noerror count=1 | tr \\0 H >./H.txt
...which creates a file of same name and size but filled w/ H chars. It takes advantage of dd's spec'd behavior of writing out at least one full null-block in case of a read error when noerror and sync conversions are specified (and - without count= - would likely go on longer than you could want), and intentionally redirects a writeonly file descriptor at dd's stdin.