【问题标题】:Why gets method is not shown in autocomplete?为什么自动完成中没有显示gets方法?
【发布时间】:2019-02-23 10:51:46
【问题描述】:

我在我的 C 程序中使用 Visual Studio 2015 和 ReSharper,但我无法在此 IDE 中使用 get 方法。为什么这个方法没有显示在自动完成列表中?

【问题讨论】:

  • gets 函数自 C99 标准以来已被弃用,并在 C11 标准中被删除。是a dangerous function,请勿使用!
  • 改用fgets()
  • 谢谢你的回答...
  • C 不支持方法gets 是一个函数
  • 请发布文字而不是图片。它们可能并非对所有用户可见 - 或任何搜索。

标签: c visual-studio-2015 resharper


【解决方案1】:

来自 C documentation:。

gets() 函数不执行边界检查,因此该函数极易受到缓冲区溢出攻击。它不能安全使用(除非程序在限制标准输入上出现的内容的环境中运行)。出于这个原因,该功能已在 C99 标准的第三次勘误中被弃用,并在 C11 标准中完全删除。 fgets() 和 gets_s() 是推荐的替代品。
切勿使用 gets()。

【讨论】:

  • cppreference 不是 C 文档。这将是作为唯一官方参考的标准。
猜你喜欢
  • 2015-11-17
  • 1970-01-01
  • 2020-01-19
  • 1970-01-01
  • 1970-01-01
  • 2012-05-15
  • 2010-10-23
  • 2016-09-11
  • 1970-01-01
相关资源
最近更新 更多