int MLPutByteString(MLINK link, unsigned char *s, long n) puts a string of n characters starting from location s to the MathLink connection specified by link.
All characters in the string must be specified using character codes as obtained from ToCharacterCode in Mathematica.
Newlines must thus be specified in terms of their raw character codes, rather than using \n.
MLPutByteString() handles only characters with codes less than 256.
It can handle both ordinary ASCII as well as ISO Latin-1 characters.
See Section 2.13.5.
See also: MLPutString, MLPutIntegerList.