编程类,在VC中用C++编写程序,按行读取txt中的数据,并显示,请各位大神来帮忙啊

C++编写,要求按行读取,且可随意按照“,”和“;”分段,至少要能够实现按行读取数据并显示出来,如果编的好,可以追加悬赏!要读取的文档很大,2M多,现在勉强做到按行读,但... C++编写,要求按行读取,且可随意按照“,”和“;”分段,至少要能够实现按行读取数据并显示出来,如果编的好,可以追加悬赏!
要读取的文档很大,2M多,现在勉强做到按行读,但是不能读下一行,和全部
展开
 我来答
hu251405204
2014-07-21 · TA获得超过1388个赞
知道小有建树答主
回答量:174
采纳率:0%
帮助的人:106万
展开全部
这个是一个读文件并显示到编辑框的例子 你看看对你有用处没?

CFileDialog *lpszOpenFile; //定义一个CfileDialog对象

CStdioFile file;
CString filePathName;
int row;
CString result;

//生成一个对话框
lpszOpenFile = new CFileDialog
(TRUE,"","",OFN_FILEMUSTEXIST |OFN_HIDEREADONLY , "文件类型(*.txt)|*.txt|所有文件(*.*)|*.*|");

if(lpszOpenFile->DoModal() == IDOK )//假如点击对话框确定按钮
{
filePathName = lpszOpenFile->GetPathName();//得到打开文件的路径
SetWindowText(filePathName);//在窗口标题上显示路径
}

if(filePathName == "") return;

if(!file.Open(filePathName,CFile::modeRead))
{
MessageBox("can not open file!");
return;
}

CString strLine,strTemp;
row = 0;
while(file.ReadString(strLine))
{
char *str = strLine.GetBufferSetLength(strLine.GetLength());//申请一个等同文件长度的空间
char *p;

if(strLine!="")
{
for (p=strtok(str,";");p!=NULL;p=strtok(NULL,";"))//i=0;i<5;i++
{
strTemp = p;
//MessageBox(strTemp);
char b[1024];
int i;
strcpy(b,strTemp.GetBuffer(strTemp.GetLength()));

result+=b;

}
row ++;
}
}

delete lpszOpenFile;//释放分配的对话框

m_strText = _T(result);//result
UpdateData(false);
更多追问追答
追问
大神,你这个程序需要在什么工程中编写,是在MFC类的,还是控制台应用程序,还有,文本中的数据有2M多,你这个程序能读取这么多数据吗
追答
哪里是大神 呵呵 就是网上找的 改改就行了 是用MFC写的 2M这个你还要改一下 我这几十K还没啥事 多了就不行了
你看看这个对你有用没?在网上找的

http://zhidao.baidu.com/link?url=2zUdEAkRi5n3HjSSQzvwx0ILc5quXSKtTdAzv7vf1SpkZFc-axvoMCKUhVb4hsuu0o4D2tx47y3BQucQ9Asvg_
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
我有帐号了呵呵
2014-07-21
知道答主
回答量:21
采纳率:0%
帮助的人:13.5万
展开全部
没有看懂,请举个例子
追问
这其实是一个2M多的文本,里面有数字数据,要把他们读取出来,并显示到屏幕上,还有后续操作,现在只需要把数据先读出来
追答
等于没说,是不是要把类似“1234,eteeem;5444, 4446“变成4段"1234\neteeem\n5444\n4446\n"
还有什么叫显示到屏幕上,是想用printf么?
要不先把你怎么做的“勉强做到按行读”,贴出来。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式