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多的数。但是还不全是。偶尔会是完全正确的。求指教。streamreaderc#
{
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多的数。但是还不全是。偶尔会是完全正确的。求指教。streamreaderc#
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();
}健壮性不够,楼主自己加些条件判断吧
.....
MyIntArray[i]=sr->Read();//读一个字节
.....
字符'3'转换成int==>51
可能有其他代码就不知道了
哦。MyIntArray[i]=sr->Read();这种写法我也是昨天试的过程发现的。但是结果不太对。想不懂所以问问。
感谢你的纠正。你提供的代码可以解决问题。只要把data->length改成data->length-1.谢谢指教。