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

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

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++ 字符串不是我想要的。我想要的...

310得票13回答
为什么gets函数很危险,不应该使用?

当我使用GCC编译使用gets()函数的C代码时,会收到以下警告: (.text+0x34): 警告:`gets'函数是危险的,不应该使用。 我记得这与堆栈保护和安全有关,但我不确定具体原因。 如何消除此警告?为什么使用gets()会产生这样的警告? 如果gets()如此危险,...

49得票7回答
C语言中,scanf()、gets()和fgets()有什么区别?

我一直在做一个相当简单的程序,将字符串(假设输入的是数字)转换为整数。 完成后,我注意到了一些非常奇怪的“错误”,因为我的scanf()、gets()和fgets()函数知识有限,所以无法解答。(虽然我读了很多文献。) 所以,不多说废话,这里是程序的代码:#include <stdi...

145得票3回答
在coderbyte网站上,'gets(stdin)'发生了什么?

Coderbyte 是一个在线编程挑战网站(我刚刚发现它)。 你将遇到的第一个 C++ 挑战需要修改给出的 C++ 初始代码: #include <iostream> #include <string> using namespace std; int First...

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相对应的是什么?

11得票2回答
scanf("%[^\n]s",a)与gets(a)的区别

我被告知当用户输入字符串时,不应使用scanf。大多数专家和StackOverflow上的用户都建议使用gets()。我从未在StackOverflow上询问过为什么不应该使用scanf来处理字符串。这不是实际问题,但非常感谢能回答这个问题。 现在进入实际问题。我遇到了这种类型的代码-sca...