问题标签 [input-buffer]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - C++ cin 一直跳
我的程序有问题。当我运行它时,它会询问用户专辑和标题,但随后它只是退出循环而不询问价格和销售税。有什么想法吗?
这是一个示例运行
程序代码:
java - 在 Java 控制台中预填充输入
我正在制作一个基于控制台的 Java/Groovy 应用程序,它在文本文件中进行大量查找/替换。例如,如果程序知道您上次替换为,则默认情况下它应该知道您可能也想替换foo
下一次。我的想法是预先填充提示的输入字段,这样您就不必不必要地重新键入它,但我找不到在 Java 中执行此操作的简单方法。bar
foo
bar
What would you like to rename this to?
这是可能的吗?如果可以,这是否是推荐的做法?
sql-server-2008 - SQL Server:查询 SysProcesses 和 InputBuffer
我试图DBCC INPUTBUFFER(@SPID)
在查询SYSPROCESSES
表时为数据库返回的每条记录提取输入缓冲区数据 ()。我很想知道是否有更好的方法来实现这一点,但也希望能纠正我目前为学习目的所做的工作。
现在,当我执行以下查询时:
它返回 31 行...
但是,当我SELECT * FROM #TempResults
执行上述循环后,我将临时表中的大量重复项返回到 10751 的总和。
同样,这主要用于学习,但也将是一个非常方便的功能。我正在寻找关于我缺少什么导致重复记录被返回的信息,以及一个可能的更好的解决方案。
c - getchar 在开关盒中不起作用(c)
使用一个非常简单的计算器程序,提示用户执行一项操作,然后提示输入两个整数以执行该操作。程序应该在这些操作之后循环,除非用户输入字符'q',此时程序应该退出。
对单个计算正常工作,但随后执行异常;特别是它打印
共。
清除输入缓冲区的标准方法while (getchar() != '\n');
不能解决这个问题。此文本显示不正确的两倍,用户仍然可以使用程序,就好像指令显示正常一样(因此用户可以键入操作,例如 +,回车,然后是一些整数和回车,并且程序将从那时起正确执行)每隔一次程序将“按下无效键。按 q 退出”,无论输入如何。
c - 如何在c中处理输入缓冲区
我是 c 编程新手,我的程序面临这个问题
我有一个循环,从输入缓冲区获取一个字符
这是 getInput() 函数
但是当从 getInput() 函数调用 getchar() 时,它只获取上次调用 getchar() 后留在输入缓冲区中的字符。我想要它做的是获取新输入的字符。
我已经在谷歌上搜索了两个小时,以寻找一种清除输入缓冲区的好方法,但没有任何帮助。因此,非常感谢教程或文章或其他内容的链接,如果有其他方法可以实现,请告诉我。
file - 从字符串解析后如何从文件中解析?
我的 bison / flex 解析器首先从文件中读取输入:
在那之后的某个时刻,它从内存中的字符串读取并解析输入:
到目前为止,它似乎运作良好。但是,当程序需要使用第一个代码再次读取和解析文件中的输入时,它不起作用(以分段错误终止)。这个问题有解决办法吗?
android - 在安卓上保存文件
我正在制作一个 xml 文件并将其保存在我的设备代码如下
文件正在保存我也可以读取文件一切都很好但是看看这一行
char[] inputBuffer = new char[responseBody.length()];
它正在计算保存文件时保存的字符串长度。我将文件保存在一个活动中并从另一个活动中读取它,我的应用程序将在本地保存文件一次,因此我无法获得长度每次都返回字符串那么有没有办法char[] inputBuffer
动态分配大小?
c - 是否可以使用 fseek(stdin,1,SEEK_SET) 或 rewind(stdin) 来刷新输入缓冲区,而不是使用不可移植的 fflush(stdin)?
由于我发现fflush(stdin)
不是一种可移植的方式来处理熟悉的“换行符潜伏在输入缓冲区中”的问题,所以当我不得不使用时,我一直在使用以下方法scanf
:
但是今天我偶然发现了我从cplusplus.com 在 fflush 上注意到的这条线:
fflush()...在为更新而打开的文件中(即,为读取和写入而打开),应在执行输入操作之前在输出操作之后刷新流。这可以通过重新定位(fseek、fsetpos、rewind)或显式调用 fflush 来完成
事实上,我之前已经读过很多次了。所以我想确认我是否可以在 之前简单地使用以下任何一个来实现与支持时scanf()
相同的目的:fflush(stdin)
PS rewind(stdin)
似乎很安全并且可以刷新缓冲区,我错了吗?
fseek(stdin,0,SEEK_SET)
如果我们正在谈论,我应该提到的错误stdin
,因为在这种情况下我们不能使用 0 或返回的偏移量以外的任何偏移量ftell()
。
c++ - 输入缓冲如何在 C++ 中工作
这是一个代码片段。我对内部缓冲的工作方式感到困惑。
实际上cin.ignore(3, '\n')
忽略了前三个字符,然后获取下一个直接字符。到那时还好。因为,我把它保持在一个while
循环中,所以我试图检查ignore()
and的行为get()
。例如,我检查的输出是
只是为了检查缓冲,我故意给了 4 个字符而不是 1。在第一种情况下,它很好并且得到了它。从第二个开始,忽略似乎不起作用。当我输入 5 个字符时,我没有得到这种行为。
需要对此进行解释。:)
c - 换行过早结束 getchar() 循环
我有一个问题,在搜索了大约半天后我找不到实际的解决方案。在这个程序中,我必须用客户信息填充结构数组。我还必须做一些其他的事情,但我无法在我的代码中找出这个错误。我知道问题是输入缓冲区在扫描客户数量后在缓冲区中有换行符或换行符。许多人已经在网上建议使用:
这仅适用于输入的名字,然后我从循环中遇到同样的问题,从客户优先级放置新行或换行。需要有一种方法可以让我取出换行符,而不必担心它。我不能使用类似的东西fflush();
或任何类似的功能。
这是我得到数量的地方。
这就是我的问题出现的地方。
如果我在这里使用 while 循环(前面的解释),则优先级永远不会有效并且无限循环开始。