BinaryWriter::Write Method (Char)
Writes a Unicode character to the current stream and advances the current position of the stream in accordance with the Encoding used and the specific characters being written to the stream.
Assembly: mscorlib (in mscorlib.dll)
Parameters
- ch
-
Type:
System::Char
The non-surrogate, Unicode character to write.
| Exception | Condition |
|---|---|
| IOException | An I/O error occurs. |
| ObjectDisposedException | The stream is closed. |
| ArgumentException | ch is a single surrogate character. |
Because of data formatting conflicts, using this method with the following encodings is not recommended:
UTF-7
ISO-2022-JP
ISCII
For a list of common I/O tasks, see Common I-O Tasks.
Unicode surrogate characters must be written out as pairs together in the same call, not individually. If you require support for surrogate pairs in your application, consider using a character array and the Write method overload.
The following code example shows how to read and write data using memory as a backing store.
using namespace System; using namespace System::IO; int main() { int i; array<Char>^invalidPathChars = Path::InvalidPathChars; MemoryStream^ memStream = gcnew MemoryStream; BinaryWriter^ binWriter = gcnew BinaryWriter( memStream ); // Write to memory. binWriter->Write( "Invalid file path characters are: " ); for ( i = 0; i < invalidPathChars->Length; i++ ) { binWriter->Write( invalidPathChars[ i ] ); } // Create the reader using the same MemoryStream // as used with the writer. BinaryReader^ binReader = gcnew BinaryReader( memStream ); // Set Position to the beginning of the stream. binReader->BaseStream->Position = 0; // Read the data from memory and write it to the console. Console::Write( binReader->ReadString() ); array<Char>^memoryData = gcnew array<Char>(memStream->Length - memStream->Position); for ( i = 0; i < memoryData->Length; i++ ) { memoryData[ i ] = binReader->ReadChar(); } Console::WriteLine( memoryData ); }
Available since 8
.NET Framework
Available since 1.1
Portable Class Library
Supported in: portable .NET platforms
Silverlight
Available since 2.0
Windows Phone Silverlight
Available since 7.0
Windows Phone
Available since 8.1