假设我有
int a; cin >> a;
int b; cin >> b;
int c; cin >> c;
我想知道如何从两个输入中获得相同的结果:
1.2.3 和 1 2 3
如果我输入 1.2.3,那么 a 为 1,b 为 2,c 为 3
最佳答案
您可以使用 std::scanf
来完成:
if (std::scanf("%d%*1[ .]%d%*1[ .]%d", &a, &b, &c) == 3) {
... // Input was successful
}
棘手的部分是 mat 说明符:%*1[.]
它扫描并忽略单个空格或单个点。
关于C++ 点作为空格?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49033789/