For completeness, freebcp ought to be able to create format files, but that functionality is currently lacking, as is bcp_writefmt().
See the vendors' documentation for the format of these files.
What happens if client does not reset values?
Microsoft and Sybase define this function differently.
FAIL
if appropriate. Check for variable multibyte non-UTF-8 input character set.
Use more robust error message generation.
For reads, cope with outbuf encodings that don't have the equivalent of an ASCII '?'.
Support alternative to '?' for the replacement character.