C ++:当您到达文件末尾或读取文件中的最后一个字符时,堆栈和打印出来的东西

时间:2016-03-11 22:46:12

标签: ifstream

我需要逐个字符地读取文件。

我的具体问题:

如果找到/*,它会将它们放入堆栈,然后进入"评论模式"它会忽略所有内容,直到找到*/如果它从未在整个文件中找到匹配的对*/*,则应该打印出" unbalanced symbol / "但它从不打印*

1 个答案:

答案 0 :(得分:1)

程序现在需要处理两个状态/模式而不是一个:

  • 以"匹配模式"开始,将( { [放在堆栈上,如果匹配则弹出) } ]
  • 只要您阅读/*,即可进入"评论模式"并且在您阅读*/之前忽略所有内容,此时您将返回"匹配模式"与前一个堆栈。在此模式下,您不需要堆叠。 "'也是如此。

如果您在"评论模式"中达到输入结束你打印出来:"不平衡的符号"使用符号进入该模式。