Is there a standard way to read and write strings from / to streams
such that the string's length prefixes the string or the string is
null-terminated?  Or must this code be implemented by hand?

This is how I manually read a string from a stream.  The string is
prefixed by its length:

// Get the length of the string.
byte[] data = new byte[sizeof(int)];
stream.Read(data, sizeof(int), tmpPtr);
int len = BitConverter.ToInt32(data, 0);

string myStr = "";
if (len > 0)
{
    // Read in the string bytes.
    data = new byte[len];
    stream.Read(data, len, tmpPtr);

    // Convert to a normal string.
    myStr = Encoding.ASCII.GetString(data);
}

I do pretty much the opposite to write the string.  I rather not do
this manually if there's already a standard way to.

Thanks for any help.
-Abe
_______________________________________________
Mono-list maillist  -  [email protected]
http://lists.ximian.com/mailman/listinfo/mono-list

Reply via email to