【发布时间】:2023-02-23 06:16:38
【问题描述】:
C++20 引入了<format>(C++23 很快引入了<print>)。我喜欢这些方法,并且我总是在支持时尝试使用std::format,而不是使用一系列<<。
但我注意到这种演变似乎只出现在输出中。为什么没有类似<scan> 的输入?
【问题讨论】:
-
你假设的
scan会做什么而>>不会? -
这不是真正可以在此站点上合理回答的问题。
-
@MarkRansom 我想它会类似于
scanf,所以它会让做cin >> scan("%d,%d,%d", a, b, c)比cin >> a; cin.get(); cin >> b; cin.get(); cin >> c容易得多。 -
@DavidG 你知道你可以链接那些,对吧?可以表示为
cin >> a >> b >> c。 -
与 scanf 更接近的是
char sep; if ((cin >> a >> sep) && sep == ',' && (cin >> b >> sep) && sep == ',' && (cin >> c)) ...,这当然令人讨厌。我通常会对任何重要的格式化输入使用字符串流和/或正则表达式。很想知道格式化输入标准的未来发展。