如何在cin之后调用read()?

时间:2016-12-12 15:50:18

标签: c++ input cin

我有一个应用程序,我应该使用 unistd.h 中的 read()来从输入中获取日期,例如:

  

100 200 300 400 500

我正在使用此代码:

int a = 0;
int b = 0;
cin >> a;
cin >> b;
char* buffer = new char[100];
read(0, buffer, 100);

但是当我将我的行放入控制台时,它无法为100200生成 cin ,然后读取()300 400 500。 我的目标是将100 200 300 400 500作为一行,然后按输入一次。 那么,我该如何解决呢?

谢谢:)

2 个答案:

答案 0 :(得分:0)

使用string而不是int;并用getline

读取孔线

字符串a; getline(cin,a);

答案 1 :(得分:0)

您可以使用下面的getline函数一次读取整行。

#include <iostream>     // std::cin, std::cout

char input[100];
cin.getline(input, 100);