VC读取txt文件某几行的数据
nem.txt文件格式如下:023452.13.24.26.723.13.23.43.504562.14.69.89.52.38.516782.12.22.32.4文件主...
nem.txt文件格式如下:
0 2 3 4 5
2.1 3.2
4.2 6.7
23.1 3.2
3.4 3.5
0 4 5 6
2.1 4.6
9.8 9.5
2.3 8.5
1 6 7 8
2.1 2.2
2.3 2.4
文件主要有多个相同的数据块构成,每块的第一行的第一个数据是标识位,即0和1。每个数据块的行数不同,
同一行数据之间由空格隔开
我现在的问题是:
如何只读取标识为 1 时的数据块的内容??????????????
最好能给出代码!!!!!!!!!
不甚感激!!!!! 展开
0 2 3 4 5
2.1 3.2
4.2 6.7
23.1 3.2
3.4 3.5
0 4 5 6
2.1 4.6
9.8 9.5
2.3 8.5
1 6 7 8
2.1 2.2
2.3 2.4
文件主要有多个相同的数据块构成,每块的第一行的第一个数据是标识位,即0和1。每个数据块的行数不同,
同一行数据之间由空格隔开
我现在的问题是:
如何只读取标识为 1 时的数据块的内容??????????????
最好能给出代码!!!!!!!!!
不甚感激!!!!! 展开
3个回答
展开全部
使用CStdioFile打开文件,逐行读取,判断如果是空行,在读取后一行,并判断第一个数字是否是1,如果是,则直接读取后续的行,并存储,如果不是,直接读取后续行并舍弃。
CStdioFile file;
if (file.Open(sPath, CFile::Read))
{
CString sText, sLastLine;
while (file.ReadString(sText))
{
if (sLastLine.IsEmpty() && !sText.IsEmpty())
{
if (sText.Left(2) == _T("1 "))
{
... // 处理首行
while (file.ReadString(sText))
{
sLastLine = sText;
if (sText.IsEmpty())
break;
... // 存储数据
}
}
}
}
}
CStdioFile file;
if (file.Open(sPath, CFile::Read))
{
CString sText, sLastLine;
while (file.ReadString(sText))
{
if (sLastLine.IsEmpty() && !sText.IsEmpty())
{
if (sText.Left(2) == _T("1 "))
{
... // 处理首行
while (file.ReadString(sText))
{
sLastLine = sText;
if (sText.IsEmpty())
break;
... // 存储数据
}
}
}
}
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询