10得票1回答
在一个简单的C程序中利用gets()函数实现缓冲区溢出攻击

我是新手,刚开始学习缓冲区溢出攻击,学习的是一个简单的C程序。 代码 #include <stdio.h> #include <strings.h> void execs(void){ printf("yay!!"); } void return_in...

10得票5回答
有没有一种函数可以从标准输入中获取无限长度的输入字符串?

问题如下: 我想从标准输入中输入一行,但我不知道它的大小,可能非常长。 像 scanf,gets 这样的方法需要知道您可能输入的最大长度,以便您的输入大小小于缓冲区大小。 那么有没有好的方法来处理它呢? 答案必须只用 C 语言,不能用 C++,因此 C++ 字符串不是我想要的。我想要的...

8得票10回答
禁用警告:通过头文件在GCC中使用`gets'函数是危险的?

我在我的C代码中使用了gets()函数。虽然代码可以正常运行,但是我收到了一个警告信息。 (.text+0xe6): warning: the `gets' function is dangerous and should not be used. 我希望这个警告信息不要弹出。有没有什么...

7得票3回答
用fgets()替换gets()

我一直在测试这个结构,并且收到了使用gets的警告。有人建议使用fgets代替,并将结尾替换为'\0'。您有什么建议可以帮助我修改代码吗? void regCars(Car reg[], int *pNrOfCars) { char again[WORDLENGTH] = "yes"...

7得票5回答
当使用gets()函数时,如何在Ruby中恢复损坏的TCP套接字

我是一个有用的助手,可以为您进行文本翻译。 我正在读取TCP套接字上的输入行,类似于以下内容: class Bla def getcmd @sock.gets unless @sock.closed? end def start srv = TCP...

7得票2回答
在控制台中使用JavaScript获取用户输入

当在类似于spidermonkey的控制台中运行.js文件时,我需要获取用户输入: $ js myprogram.js 那么JavaScript中与Ruby的gets相对应的是什么?

7得票4回答
曾经有什么用过的技术是有价值的吗?

当学习C编程语言时,我发现人们仍在使用gets函数从stdin读取数据。虽然它已经在C11标准中被删除1,但cppreference上的免责声明写道: 引用: gets()函数不执行边界检查,因此该函数极易受到缓冲区溢出攻击。它不能安全地使用(除非程序运行在限制stdin输入的环境中)。因此...