从文本文件中取出行后,cout无法以正确的顺序打印

时间:2015-11-08 21:46:36

标签: c++

我从文本文件中获取代码行,从中删除空格,然后将它们放入堆栈。

//declarations and finding numLine
Stack memory (numLine);
  if(myFile.is_open()){
      while(getline(myFile, line1)){
           while(line1.find(" ")!=string::npos){
               line1.erase(line1.find(" "), 1);
            }
            cout<<line1;
            cout<<"#"<<endl;
            memory.push(line1); 
      }
    myFile.close(); 
  }
//code analyzing the lines

当我检查线条是否正确输入以进行调试时,如何打印出以下内容

#OR(i,10,++)
#EGIN
#OR(j,10,++)
#EGAN
#um=sum+i+j;
#ND
END#

所有&#34;#&#34;应该是结束但是它们位于每一行的最开头并替换除最后一行之外的第一个字母。为什么会这样?输出应该是

FOR(i,10,++)#  
BEGIN#
FOR(j,10,++)#
BEGAN#
sum=sum+i+j;# 
END# 
END#

此外,当我删除打印输出的#部分时,所有内容都正确打印

0 个答案:

没有答案