求教c++读取和写入txt文件的问题。
txt文件中的内容有:
**********BEGIN**********
*****TemplatePath*****
C:\NX5.prt
***LayerInformation***
1#底板
4#侧面定位块
2#定位块
3#轴向定位块
*****LayerNum*****
4
**********END**********
然后向用c++读取1#底板,或者3#轴向定位块,我写的代码如下:
while(!inFile.eof())
{
getline(inFile,str);
temp= str.substr(0,1);
if(temp.compare("") != 0)//判断不是空行
{
temp=str.substr(0,25);
if (temp.compare("**********BEGIN**********")==0) ////起始行
{
continue;
}
else if(temp.compare("**********END**********")==0) ////结束行
{
break;
}
else
{
if (temp.compare("*****TemplatePath*****")==0) ////模板路径
{
flag1=100;
continue;
}
if (flag1==100)
{
int count=1;
while (getline(inFile,str1))
{
if (count==1)
{
m_ss=str1.c_str();
UpdateData(FALSE);
break;
}
else
{
++count;
}
}
}
}
}
}
但是运行后结果是输出倒数第二行,这是什么原因呢,求教各位大神,谢谢
[解决办法]
不太清楚你判断的条件是什么?
是匹配字符,比如编号(1#或3#)输出。
还是按照其它规则提取。
这个按C++写的,到时候把多余的变量m_ss2去掉。
cout去掉,换成UpdateData就行。但我不知道你的具体情况。
- C/C++ code
#includehe