C#streamreader读文件第一位总是不对
void clrClass::MemberLoad(array<int>^MyIntArray,String^ str) { int i=0; FileStream^ fs = File::OpenRead(str); StreamReader^ sr=gcnew StreamReader(fs); MyIntArray[i]=sr->Read(); sr->Close(); fs->Close(); }
比如要读的文件内数据如下:3658 9237 4303 5168 3349 546 5099 5425 9436 775
读到以后确是:50 9237 4303 5168 3349 546 5099 5425 9436 775
第一位总是一位50多的数。但是还不全是。偶尔会是完全正确的。
{ FileStream^ fs = File::OpenRead(str); StreamReader^ sr=gcnew StreamReader(fs); array<String^>^ data=sr->ReadToEnd()->Split(' '); for(int i=0;i<data->Length;i++) MyIntArray[i]=Convert::ToInt32(data[i]); sr->Close(); fs->Close(); }
数据3658 9237 4303 5168 3349 546 5099 5425 9436 775
.....
MyIntArray[i]=sr->Read();//读一个字节
.....
字符'3'转换成int==>51