如何在vs2010中的MFC应用程序中实现读取文件?急!! 30

假设要读取D盘根目录下的一个TXT文件,文件中有n行,每行m个float型数,之间用空格分开,如何读到一个二维数组里面?如{00.50.50.511.00.50.311.... 假设要读取D盘根目录下的一个TXT文件,文件中有n行,每行m个float型数,之间用空格分开,如何读到一个二维数组里面?如{0 0.5 0.5 0.5
1 1.0 0.5 0.3
1 1.5 0.5 0.3}
展开
 我来答
匿名用户
2011-03-30
展开全部
可以在DOC类中响应OnOpenDocument(LPCTSTR lpszPathName)函数,这是MFC自带的打开文件操作,lpszPathName是文件名。不用这个的话也可以用CFileDialog dlg,这是打开文件对话框,具体用法参见MSDN

#include <fstream>
#include <sstream>

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;
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
我要补学数学
2011-03-30 · 超过19用户采纳过TA的回答
知道答主
回答量:122
采纳率:100%
帮助的人:0
展开全部
#include <iostream>
#include <fstream>
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不会
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2011-04-01
展开全部
10的运行库而已,建议VC2010写的程序都使用MFC静态库的方式进行编译
另外,站长团上有产品团购,便宜有保证
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2011-03-30
展开全部
知不知道m、n的具体数值啊?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
军军106
2011-03-30 · TA获得超过453个赞
知道小有建树答主
回答量:1747
采纳率:0%
帮助的人:754万
展开全部
fopen()
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式