日期:2014-05-17  浏览次数:20770 次

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多的数。但是还不全是。偶尔会是完全正确的。求指教。
streamreader c#

------解决方案--------------------

 void clrClass::MemberLoad(array<int>^MyIntArray,String^ str)
 {
       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();
   }

健壮性不够,楼主自己加些条件判断吧