Fix unterminated string for the long output file name

The strncpy function is not zero-terminating the target string if all n
bytes were used in the target buffer. That resulted in random bytes
being appended to the end of the buffer when name length exceeded the
length of the buffer.
Cast offset to the value type expected by fprintf

Compiler was complaining about the incorrect value type:
fs_visualize.c: In function ‘main’:
fs_visualize.c:158:3: warning: format ‘%lld’ expects argument of type ‘long long int’, but argument 3 has type ‘off_t’ [-Wformat]

Type cast added, compiler is happy now.