问题标签 [gets]

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.

0 投票
5 回答
9661 浏览

ruby - 在 get() 中从 Ruby 中损坏的 TCP 套接字中恢复

我正在读取 TCP 套接字上的输入行,类似于:

如果端点在 getline() 运行时终止连接,则 gets() 挂起。

我该如何解决这个问题?是否有必要进行非阻塞或定时 I/O?

0 投票
10 回答
17309 浏览

c - 禁用警告:通过头文件在 GCC 中的“获取”功能很危险?

gets()在我的 C 代码中使用该函数。我的代码工作正常,但我收到一条警告消息

我希望不要弹出此警告消息。有什么办法吗?

我想知道通过创建一个头文件来禁用一些警告可能会有这样的可能性。或者在编译过程中是否有任何选项可以满足我的目的?或者可能有一种特殊的方式使用gets()这个警告不弹出?

0 投票
3 回答
8224 浏览

c - 获取()不起作用

我有一个用 C 编写的程序,当用户选择 3 选项时,它从开关调用 gets()。这是我的代码。它似乎不需要等待用户输入一些东西。而是程序在交换机中继续。

0 投票
13 回答
201117 浏览

c - 为什么gets函数如此危险以至于不应该使用它?

当我尝试gets()通过 GCC 编译使用该函数的 C 代码时,我收到以下警告:

(.text+0x34): 警告:“gets”功能很危险,不应使用。

我记得这与堆栈保护和安全性有关,但我不确定为什么。

我怎样才能删除这个警告,为什么会有这样一个关于 using 的警告gets()

gets()既然如此危险,为什么我们不能删除它?

0 投票
3 回答
225 浏览

c - get() 函数中的 CR 字符

用户键入一个字符串,可能由制表符、空格和“输入”(CR) 分隔。我需要全部接收;问题是当用户按下“Enter”键时,gets() 函数会停止扫描。还有另一种方法吗?除了scanf和gets之外,我不能使用任何其他功能。

0 投票
2 回答
3735 浏览

ruby - 为什么将参数传递给我的 ruby​​ 脚本时会引发错误?

gets用来暂停脚本的输出,直到用户按下回车键。如果我没有将任何参数传递给我的脚本,那么它可以正常工作。但是,如果我将任何参数传递给我的脚本,则会出现以下错误:

错误消息显示我传递给脚本的参数。为什么会关注 ARGV?

我正在使用 OptionParser 来解析我的命令行参数。如果我使用parse!而不是parse(因此它会从参数列表中删除它解析的内容),那么应用程序可以正常工作。

因此,出于某种原因,gets 似乎正在从 ARGV 读取数据。为什么?这是预期的吗?有没有办法让它不这样做(这样gets()做没有帮助)。

0 投票
6 回答
3904 浏览

c++ - 在 C++ 中如何使用集合和获取?

我在 java 中使用过它们,似乎没有太多问题,但我在 C++ 中并没有很好地掌握它们。任务是:

到目前为止,这就是我所拥有的,但我有理由确定我完全错了。如果有人有任何建议,我将不胜感激,谢谢!

PS:main有return 0;纯粹作为一个占位符,只是试图理解整个“获取和设置”的事情。

0 投票
8 回答
25094 浏览

c - 在获取之前在 C.Scanf 中输入。问题

我对 C 很陌生,我在向程序输入数据时遇到了问题。

我的代码:

它允许输入 ID,但它只是跳过输入的其余部分。如果我像这样更改顺序:

它会起作用的。虽然,我不能更改订单,我需要它原样。有人能帮我吗 ?也许我需要使用其他一些功能。谢谢!

0 投票
4 回答
547 浏览

c++ - 得到(变量)

谁能告诉我为什么gets(abc) 与char[] 一起使用而不与int 一起使用?

0 投票
5 回答
875 浏览

c - 如果有人抱怨gets(),为什么不对scanf("%s",...) 做同样的事情呢?

来自man gets

永远不要使用gets()。因为在事先不知道数据的情况下不可能知道gets()会读取多少个字符,并且因为gets()会继续存储超过缓冲区末尾的字符,所以使用起来非常危险。它已被用来破坏计算机安全。请改用 fgets()。

几乎在我看到scanf的所有地方都以应该有相同问题的方式使用(缓冲区溢出/缓冲区溢出scanf("%s",string):. 这种情况下存在这个问题吗?为什么手册页中没有关于它的引用scanf?为什么 gcc 在编译时不发出警告-Wall

ps:我知道有一种方法可以在格式字符串中指定字符串的最大长度scanf

编辑:我不是要确定前面的代码是否正确。我的问题是:如果scanf("%s",string)总是错误的,为什么没有警告并且手册页中没有任何关于它的内容?