相关疑难解决方法(0)

为什么获取功能如此危险以至于不应该使用它?

当我尝试编译使用gets()GCC函数的C代码时,

我明白了

警告:

(.text + 0x34):警告:`gets'函数很危险,不应该使用.

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

有人可以帮我删除这个警告并解释为什么会有这样的使用警告gets()

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

c gets fgets buffer-overflow

210
推荐指数
9
解决办法
14万
查看次数

scanf正则表达式 - C.

我需要读取一个字符串,直到写入以下序列:\nx \n:

(.....)\n
x\n
Run Code Online (Sandbox Code Playgroud)

\n是新行字符,(.....)可以是任何可能包含其他\n字符的字符.

据我所知,scanf允许正则表达式,但我不能让它读取字符串直到这个模式.你能帮我解决scanf格式字符串吗?


我在尝试这样的事情:

char input[50000];
scanf(" %[^(\nx\n)]", input);
Run Code Online (Sandbox Code Playgroud)

但它不起作用.

c regex scanf

5
推荐指数
2
解决办法
2万
查看次数

标签 统计

c ×2

buffer-overflow ×1

fgets ×1

gets ×1

regex ×1

scanf ×1