这应该是一个简单的任务,但我收到的文件包含数字“1”而不是 numericUpDown 控件的内容。使用断点我可以看到来自 ta[i]->Value 的值是我期望的值,但是在转换之后我在文件中得到一个 1 而不是值。
private: void storePreviousSettings()
{
ofstream settings("prev_settings.txt");
if(settings.is_open())
{
settings << "#ta" << endl;
for(int i = 0; i < 16; i++)
{
settings << ta[i]->Value.ToString() << endl;
}
settings << "End" << endl;
settings.close();
}
}
注意: ta 定义如下:
private: NumericUpDown * ta[];
为什么我要使用 ofstream 而不是 numericUpDown 组件中的值在文件中打印“1”?我怎样才能解决这个问题?我可以执行另一种写入文件的方法吗?
更新/当前失败的尝试
如果我添加这一行:
System::String * temp = ta[i]->Value.ToString();
在“设置 << ta[i]->Value ...”行之前,使用断点我可以看到“temp”保持预期值,并且 ta[i]->Value.ToString() 正在工作。因此,当 ta[i]->Value.ToString() 与 << 运算符一起使用时,必须进行某些更改,以便我在文件中收到“1”,而不是在之前的断点处看到的值被写入文件。
任何帮助或方向表示赞赏。谢谢。