我想用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之外还有什么可以用来做这个吗?
答案 0 :(得分:0)
输入操作符>>
通常在空格上分开,几乎所有类型的ant都会跳过前导空白区域。因此,当使用>>
读取字符串或数字时,只要有一个空格(空格,制表符,换行符等),就不会有多少空格。
所有其他格式都不用于输入,左/右对齐或字段宽度并不重要,只需要这样做。
cin >> itemname >> amount >> price;
你应该得到你的三件物品。
并实际回答你的问题:这取决于。如果要使用C ++和C ++流类从标准输入读取,则只能使用std::cin
。否则,您可以使用旧的C标准I / O函数从stdin
读取,但如果您尝试使用字段宽度,则会出现其他问题,例如字段宽度,例如scanf
函数族意味着别的东西。
使用标准输入进行输入,这是读取文本输入(可能转换为其他类型)的唯一标准方式,不是面向字段的,而是面向行的。
输入
foo 1 2
与
完全相同 foo 1 2