可以在DOC类中响应OnOpenDocument(LPCTSTR lpszPathName)函数,这是MFC自带的打开文件操作,lpszPathName是文件名。不用这个的话也可以用CFileDialog dlg,这是打开文件对话框,具体用法参见MSDN
#include
#include
BOOL CMySDIDoc::OnOpenDocument(LPCTSTR lpszPathName)
{
double num[n][m]; // 你的数组
ostringstream oss;
oss << lpszPathName;
ifstream in (oss.str().c_str());
if (in.fail())
{
return FALSE;
}
else
{
string line;
string indexString;
int i = 0;
while (true)
{
getline (in, line);
if (in.eof () || in.fail ())
{
break;
}
istringstream is (line);
is >> indexString; // 逐行读取
int j = 0;
while (true)
{
is >> indexString;
if (!(is.fail()))
{
num[i][j] = atof(indexString.c_str()); // 字符串转浮点
j++;
}
else
{
break;
}
}
i++;
}
in.close();
return true;
}
}
#include
#include
using namespace std;
int main()
{
ifstream fin;
fin.open("d:\\temp.txt");
float num;
float arr[5][6];
if (!fin.is_open())
cout << "没有打开文件\n";
else
{
for (int i = 0; i < 5; i++)
for (int n = 0; n < 6; n++)
{
fin >> num;
arr[i][n] = num;
}
}
}
这是控制台代码。mfc不会
10的运行库而已,建议VC2010写的程序都使用MFC静态库的方式进行编译
另外,站长团上有产品团购,便宜有保证
知不知道m、n的具体数值啊?
fopen()