c++ - parsing txt 文件 C++ 时忽略 commemts

我有一个大文本文件,我是 parsing 使用 string 流。文本文件看起来像这样

#####
##bjhbv
nvf
vbhjbj
vfjbvjf
*bj
*bvjbv
.
.
.
.
+FILE
data I want to parse from here to 
.
.
.
.
-FILE 
till here
#shv again comments
.
.

如何仅在 +FILE 到 -FILE 之间进行解析?我可以在里面解析它,但我只想忽略上面和下面的评论。请帮助我如何忽略 .txt 文件中的读取或 parsing 。任何线索将不胜感激。,

回答1

这样的事情应该这样做:

{
  ifstream f_in(input_file_name);
  ofstream f_out(output_file_name);

  string line;
  // discard up to "+FILE"
  while (getline(f_in, line) && line != "+FILE");
  // copy up to "-FILE"
  while (getline(f_in, line) && line != "-FILE") f_out << line << endl;
}

ifstreamofstream 将在离开范围时关闭它们各自的文件,这就是我在 {} 中显示它们的原因。

回答2

正如您在评论中看到的,您可以丢弃上面的 +FILE。你可以使用 std::istream::ignore

您可以将分隔符指定为 +FILE 然后您可以处理您的逻辑。并在“-FILE”匹配后用条件打断。

相似文章

最新文章