I can't seem to read the long-dash character from a text file in VC++ Express
2005 Beta 1. My code is as follows:
//either this:
FileStream ^pFile = gcnew FileStream(strPath, FileMode::Open,
FileAccess::Read);
BinaryReader ^pReader = gcnew BinaryReader(pFile);
strText = gcnew String(pReader->ReadChars(pFile->Length));
//or this:
StreamReader ^pFile = gcnew StreamReader(strPath);
strText = pFile->ReadToEnd();
Either way, when my text file includes the en-dash character (the long dash,
character 151, in C it's '\x97'), it's not included in strText. Nothing is
replaced for it; it's as if the character doesn't exist in the file.
Any solutions?
~BenDilts( void );
Jon Skeet [C# MVP] - 29 Nov 2004 23:38 GMT
> I can't seem to read the long-dash character from a text file in VC++ Express
> 2005 Beta 1. My code is as follows:
[quoted text clipped - 14 lines]
>
> Any solutions?
It may be character 151 in some character encoding, but it's not going
to be a single byte 151 in UTF-8, which is the default encoding for
BinaryReader and StreamReader. You need to specify the appropriate
encoding - possibly Encoding.Default, but that's something you'll need
to determine for yourself.

Signature
Jon Skeet - <skeet@pobox.com>
http://www.pobox.com/~skeet
If replying to the group, please do not mail me too