在c ++中输入表中的数据

时间:2016-07-29 18:41:23

标签: c++

我想用c ++在表格中输入数据。 我需要在不同的列中获取输入。问题是,当我使用cin时,它会跳转到下一行而不是继续在同一行。

这是我使用的代码:

string itemname;
int amount;
float price;
cout << setprecision(2);
cout << fixed;
cout << left << setw(30) << string(30, '-') << endl;
cout << left << setw(10) << "Itemname" << setw(10) << right << "Amount"  << setw(10) << right << "Price" << endl;
cin >> left >> setw(10) >> itemname >> setw(10) >> right >> amount >> setw(10) >> right >> price;

除了cin之外还有什么可以用来做这个吗?

1 个答案:

答案 0 :(得分:0)

输入操作符>>通常在空格上分开,几乎所有类型的ant都会跳过前导空白区域。因此,当使用>>读取字符串或数字时,只要有一个空格(空格,制表符,换行符等),就不会有多少空格。

所有其他格式都不用于输入,左/右对齐或字段宽度并不重要,只需要这样做。

cin >> itemname >> amount >> price;

你应该得到你的三件物品。

并实际回答你的问题:这取决于。如果要使用C ++和C ++流类从标准输入读取,则只能使用std::cin。否则,您可以使用旧的C标准I / O函数从stdin读取,但如果您尝试使用字段宽度,则会出现其他问题,例如字段宽度,例如scanf函数族意味着别的东西。

使用标准输入进行输入,这是读取文本输入(可能转换为其他类型)的唯一标准方式,不是面向字段的,而是面向行的。

输入

foo 1 2

完全相同
    foo          1   2