Write Method (Char)

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.

Namespace:   System.IO
Assembly:  mscorlib (in mscorlib.dll)

public:
virtual void Write(
	wchar_t ch
)

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 );
}

Universal Windows Platform
Available since 4.5
.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
Return to top
Show:
© 2016 Microsoft