我正在用C++读取文件;该文件看起来像:C++格式化的输入必须匹配值
tag1 2345
tag2 3425
tag3 3457
我想在哪里,如果什么东西被采取不匹配的must_be()
的说法,并完成后,var1=2345, var2=3425, var3=3457
一切炸毁有类似
input>>must_be("tag1")>>var1>>must_be("tag2")>>var2>>must_be("tag3")>>var3;
。
有没有这样做的标准方式? (希望“tag1”不一定是字符串,但这不是必需的。)来自C的fscanf
使它非常容易。
谢谢!
为了澄清,每个>>
都从input
中读取一个以空格分隔的字符集。我希望将一些即将到来的字符块(tagX
)与我指定的字符串或数据进行匹配。
但你知道一个标准的(库/升压)这样的方式? – Richard 2012-03-19 14:54:49
@Richard这是一个标准的做法。只要为你的班级实施'operator >>',你应该很好。 boost并不为运营商>>提供自定义类 – 2012-03-19 16:20:35