MFC中读取TXT文件中的数据

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MFC中读取TXT文件中的数据相关的知识,希望对你有一定的参考价值。

现在一次只能读取一行值来进行重绘
要如何修改才能在读取时,每六个值传一次重绘,并跳下一行读取,直到文件尾

.txt档内的数据是(绘图起始、结束座标、type,color)
359,97,661,332,2,5,
261,64,261,64,1,3,
208,250,580,105,1,6,

void CDlgView::OnLoad()

CString IntDlg = "text|*.txt|*.*|*.*||";
CFileDialog dlg(TRUE,"txt","*.txt",OFN_HIDEREADONLY,IntDlg,this);
dlg.m_ofn.lpstrInitialDir=_T("C:\\");

if(dlg.DoModal()==IDOK)

file.Open(IntDlg=dlg.GetPathName(),CFile::modeRead);
while(file.ReadString(Line))

str += Line; //逐行读取字串

TCHAR seps[] = _T(",");
TCHAR* token = _tcstok((LPTSTR)(LPCTSTR)str,seps);

while( token != NULL )

rebox[i++] = atoi(token);
token = _tcstok( NULL, seps);

file.Close();



CPoint CDlgView::Re_PosStart() r_x0=rebox[0]; r_y0=rebox[1]; ReStart.x=r_x0; ReStart.y=r_y0; return ReStart;

CPoint CDlgView::Re_PosEnd() r_x1=rebox[2]; r_y1=rebox[3]; ReEnd=r_x1; ReEnd.y=r_y1; return ReEnd;

int CDlgView::Re_Type() r_dt=rebox[4];return r_dt;

int CDlgView::Re_Color() r_dc=rebox[5];return r_dc;

可以吧txt中的数据全部一行行读出来,放到字符串中,然后用 , 分割字符串,六个数据一组, 参考技术A

利用MFC在控件内将txt中的数据画图

1:采集txt文件中的数据测试程序如下:

技术分享
#include "stdafx.h"
#include <fstream>
#include "iostream"
using namespace std;
int main(int argc, char* argv[])
{
    FILE *fp;
    float j;
    fp=fopen("c1_p1_x.txt","r");
    for(int i=1;i<=105;i++)
    {
        fscanf(fp,"%f",&j);

        cout<<j<<endl;
    }

    fclose(fp);
    return 0;
}
View Code

 

以上是关于MFC中读取TXT文件中的数据的主要内容,如果未能解决你的问题,请参考以下文章

MFC如何读取TXT文件?

mfc如何用txt保存下拉框控件的内容?下拉框如何读入TXT中的内容到属性-数据中?

MFC-按行读取TXT数据

MFC中如何查询D盘指定文件夹中的txt文件,并且按文件名查询后输出里面的内容?

MFC怎么读取一个TXT文件

mfc中怎么查找txt文件中数据,并进行修改