首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

列表控件读取.txt文件,该如何解决

2012-04-08 
列表控件读取.txt文件列表控件有两列,第一列是编号,第二列是数据第二列的数据从.txt文件读取,且此文件只包

列表控件读取.txt文件
列表控件有两列,第一列是编号,第二列是数据
第二列的数据从.txt文件读取,且此文件只包含这一列数,形式如下:
123156
156113
165131
156144
946511
……
第一列根据所读取的第二数据的多少,自动编号1,2,3,……
最后想要的结果是:
1 1→2→3→1→5→6
2 1→5→6→1→1→3
3 1→6→5→1→3→1
4 1→5→6→1→4→4
5 9→4→6→5→1→1
……
……
我的想法是:读文件,取一行,再添加到列表控件第二列中,同时要为第一列加上编号
可是循环的时候怎么样确定行数啊,就是一共添加了多少行?
我知道把列表数据保存到文件中,获取列表视图中的项目数量用GetItemCount,
现在反过来了,要知道.txt文件中一共有多少行,怎么获得这个行数吗?
我写了一下代码,大家帮助看看啊,代码如下:

C/C++ code
CStdioFile file;    CString filestr;    if (!file.Open("Parts_posi_final2.txt", CFile::modeRead))    {        AfxMessageBox("Can not open the file!");    }    else    {        UpdateData(true);        file.SeekToBegin();        file.ReadString(filestr);        int num = ???????//不知道循环次数        for (int row = 0; row < num; row++)        {            CString strNum;            strNum.Format("%s",row+1);            m_listASG.InsertItem(row,strNum);//插入编号,可能不对            m_listASG.SetItemText(row,1,filestr);//插入文本内容,这里显示的时候,怎么才能加上→呢?        }        file.Close();    }}


[解决办法]
用一个循环读取,用一个变量记录已经读取的行数,每次读取一行,如果读取失败或者到文件结尾就不再读取就行了
[解决办法]
探讨
读取问题已经解决,表中已达到如下效果:
1 123156
2 156113
3 165131
4 156144
5 946511
……
只剩下一个问题:怎么样给数之间加入这个符号→???

热点排行