繁体   English   中英

cin之后如何调用read()?

[英]How to call read() after cin?

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

100200300400500

我正在使用以下代码:

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

但是,当我将命令行放入控制台时,它不能使cin成为100200 ,然后无法使read()成为300 400 500 我的目标是把100 200 300 400 500为一条线,然后按ENTER键 那么,我该如何解决呢?

谢谢 :)

使用string代替int; 并用getline读取孔线

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

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

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

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

输入 ctrl + x 后如何再次 cin (cin&lt; <x) loop (cin a struct)< div><div id="text_translate"><p> 这是我的代码</p><pre>stream&amp; operator&gt;&gt;(istream&amp; is, fraction&amp; f) { is &gt;&gt; f.numerator; cout &lt;&lt; "/"; is &gt;&gt; f.denominator; }</pre><p> ...</p><pre> void insertFraction(fraction*&amp; f, int&amp; n, fraction x) { int m = n + 1; fraction* fNew = (fraction*)realloc(f, m * sizeof(fraction)); if (fNew;= NULL) { fNew[n] = x; n++; f = fNew; } }</pre><p> ...</p><pre> void enterFraction(fraction*&amp; f, int&amp; n) { fraction x; f = NULL; n = 0; int i = 1; cout &lt;&lt; "Enter fraction " &lt;&lt; i &lt;&lt; ": \n"; while (cin &gt;&gt; x) { insertFraction(f, n, x); i++; cout &lt;&lt; "Enter fraction " &lt;&lt; i &lt;&lt; " or enter Ctrl + X to stop: \n"; } }</pre><p> 问题是,在调用function enterFraction后,我可以再次使用cin,因为Ctrl + X,请帮助我在function enterFraction之后再次使用cin。 谢谢!!</p></div></x)>

[英]How to cin again after enter ctrl + x in a while (cin<<x) loop (cin a struct)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM