tr24731相关内容

您是否使用 TR 24731 的“安全"功能?

ISO C 委员会(ISO/IEC JTC1/SC21/WG14) 已发布 TR 24731-1 并且是致力于TR 24731-2:p> TR 24731-1:C 库扩展第一部分:边界检查接口 WG14 正在研究更安全的 C 库函数的 TR.此 TR 旨在修改现有程序,通常通过添加带有缓冲区长度的额外参数.最新的草案在文件 N1225 中.文件 N1173 中有一个基本原理.这将成为技术报 ..
发布时间:2022-01-31 09:40:44 其他开发

使用 scanf_s 读取字符

我只是在玩弄 C 并遇到了这个小问题.正如你从我的输出中看到的,我得到了 '╠' 这个字符. #include int main(void){字符 c;printf("你想成为X还是O?\n");scanf_s("%c", &c);printf("你选择了 %c\n", c);} 参见程序输出 解决方案 您滥用了 scanf_s().Microsoft 编译器可能会警告您使用他们的安全 ..
发布时间:2021-12-22 18:18:22 其他开发

为什么 gcc(或 glibc)没有实现 _s 函数?

_s 函数,如scanf_s、printf_s 似乎是可选的标准.MSVC 已经实现了这些功能,但是 gcc 没有. 未实现安全功能是否有特定原因?glibc的scanf是否足够安全? 解决方案 _s 函数是可选的 (C11 标准的附录 K).他们被广泛认为“不太有益". 在我的问题的答案中您使用 TR-24731 “安全"吗?功能?,您可以找到有关标准规范哪里存在问题的信息— ..
发布时间:2021-12-13 09:40:48 其他开发

scanf 和 scanf_s 的区别

scanf 和 scanf_s 有什么区别?在大学里,我一直在教我使用 scanf,但在我的个人计算机上,Visual Studio 不断发送此警告. 错误 C4996:“scanf":此函数或变量可能不安全.考虑使用 scanf_s 代替. 而且我必须将所有 scanf 更改为 scanf_s 否则程序将无法构建.(我使用的是 Visual Studio 2013) 解决方案 是一 ..
发布时间:2021-12-07 13:48:33 其他开发

您使用 TR 24731 的“安全"功能吗?

ISO C 委员会 (ISO/IEC JTC1/SC21/WG14) 已发布 TR 24731-1 并且是致力于TR 24731-2:> TR 24731-1:C 库的扩展第 I 部分:边界检查接口 WG14 正在研究更安全的 C 库函数的 TR.此 TR 面向修改现有程序,通常通过添加带有缓冲区长度的额外参数.最新草案在文件 N1225 中.理由在文件 N1173 中.这将成为技术报告类 ..
发布时间:2021-12-01 23:52:25 其他开发

为什么gcc(或glibc)没有实现_s函数?

_s函数,例如 scanf_s , printf_s 似乎是可选标准.MSVC实现了这些功能,但gcc尚未实现. 是否存在不实施安全功能的特定原因?glibc的 scanf 是否足够安全? 解决方案 _s 函数是可选的( 在对我的问题的回答中您是否使用TR-24731的“安全"功能?,您可以找到有关标准规范存在问题的信息,例如标准与Microsoft实施之间的关键差异.TR 247 ..
发布时间:2021-05-09 20:53:45 其他开发

C4996,fopen不推荐使用:为什么?(不:如何抑制)

fopen 的不安全之处是什么? fopen_s 的不安全之处是什么? 如何安全地使用fopen(如果可能)? (我不想知道如何抑制警告-有足够的stackoverflow文章来回答该问题) 编辑:问题被关闭为“基于观点"(即使只有一个答案,我对此也没有太多意见).我将尝试重述一下:如果有人可以显示Microsoft(不推荐使用该功能的文档)来说明为什么不推荐使用该文档的方式/位 ..
发布时间:2021-05-08 20:56:41 其他开发

C11的安全字符串函数何时会成为glibc的一部分?

C11标准附录K定义了一堆新的更安全的字符串函数,所有后缀均带有 _s (例如 strcpy_s ). 您知道这些新功能何时将在GNU C库glibc中可用吗? 到目前为止,您必须使用第三方库,例如 safec . 解决方案 您知道这些新功能何时将在GNU C库glibc中可用吗? 当有人贡献实现并说服GLIBC维护者这些功能很好时. 2007年以来的相关线程. ..
发布时间:2020-07-26 01:37:27 其他开发

__STDC_LIB_EXT1__在gcc和clang中的可用性

由于Google的快速搜索没有找到任何内容,因此我将尝试在此处询问(因为许多参与gcc/clang的人都在这里闲逛)-__STDC_LIB_EXT1__在gcc/clang中的状态是什么?我们正在开发一个跨平台应用程序,我想使用中的一些安全范围检查功能(奇迹般的功能可以在Visual Studio 2017中使用),但是无法使用Xcode 9.2编译代码.我假设Xcode使用的C ..
发布时间:2020-07-26 01:37:23 其他开发

MSVC 2017下缺少C11 strerrorlen_s函数

我正在尝试从strerrorlen_s函数包括的标头 MSVC 2017 下的> C11标准.我需要它来分配要通过strerror_s获取的错误消息的空间.代码如下: auto size = strerrorlen_s(errno) + 1; char* errorReason = (char*)alloca(size); strerror_s(errorReason, size, errn ..
发布时间:2020-07-26 01:37:19 C/C++开发

strcpy_s是C ++标准的一部分吗?或仅是MS Visual C ++的一部分

在MS Visual Studio中使用函数strcpy会给我一个错误,提示我应该使用更安全的strcpy_s. strcpy_s是C ++标准的一部分吗?还是仅是Microsoft Visual C ++的一部分? 包含strcpy_s的代码是否只能在Visual Studio中编译? 解决方案 strcpy_s()是C11的可选部分(更正式地称为“条件功能".允许实现不实现标准化 ..
发布时间:2020-07-26 01:37:18 C/C++开发

使用C scanf_s的字符串输入

我一直在寻找自己的答案,但找不到. 我想插入一部分程序,该程序读取"Hello"之类的字符串并存储并在需要时显示它,以便printf("%s", blah);生成Hello. 这是给我麻烦的代码部分 char name[64]; scanf_s("%s", name); printf("Your name is %s", name); 我知道printf不是问题;在提示后输入内容后 ..
发布时间:2020-07-26 01:36:11 其他开发

错误C4996:'scanf':该函数或变量在C编程中可能不安全

我创建了一个小应用程序,通过使用带有参数的用户定义函数来查找最大数目.当我运行它时,它显示此消息 错误1错误C4996:'scanf':该函数或变量可能不安全. 考虑改用scanf_s.要禁用弃用,请使用 _CRT_SECURE_NO_WARNINGS.有关详细信息,请参见在线帮助. 该如何解决? 这是我的代码 #include void findtwo ..
发布时间:2020-07-26 01:36:09 其他开发

为什么gcc没有实现_s函数?

_s函数(例如scanf_s,printf_s)似乎是可选标准. MSVC实现了这些功能,但gcc尚未实现. 是否存在不实施安全功能的特定原因? gcc的scanf是否足够安全? 解决方案 _s函数是可选的( 在对我的问题的回答中您使用TR-24731的“安全"还是“安全"?功能?,您可以找到有关标准规范存在问题的信息,例如标准与Microsoft实施之间的关键差异. TR 247 ..
发布时间:2020-07-26 01:36:07 其他开发

用scanf_s读取字符

我只是在弄乱C语言,遇到了这个小问题.如您从我的输出中看到的,我得到这个字符“╠". #include int main(void) { char c; printf("Do you want to be X's or O's?\n"); scanf_s("%c", &c); printf("You chose %c\n", c); ..
发布时间:2020-07-26 01:36:02 其他开发

为什么要定义rsize_t?

我发现strncpy_s()在 VS2013 下定义为 errno_t __cdecl strncpy_s ( _Out_writes_z_(_SizeInBytes) char * _Dst, _In_ rsize_t _SizeInBytes, _In_reads_or_z_(_MaxCount) const char * _Src, _In_ rsize_t _M ..
发布时间:2020-07-07 04:11:23 C/C++开发

scanf_s警告?跳过用户输入(主题:Runge-Kutta,流行病模拟)

这是我的第一篇文章,我不得不承认,我在编程方面很糟糕.我是班上努力工作的那个家伙,但似乎永远无法像其他同学一样掌握编程.因此,请保持友好,我将尝试在下面解释我的问题. 我有以下代码(删除了注释),但是当我运行它时,我得到的警告类似于下面列出的警告.同样,当我运行程序时,允许输入第一个用户输入的值,但是突然之间,它跳到程序的末尾,不允许我输入其他变量的值(例如,变量"beta" ).我有一个输 ..
发布时间:2020-07-06 04:17:32 其他开发

fopen_s如何比fopen更安全?

我正在为 Windows 平台开发遗留代码。当我在 VS2013 中编译代码时,它给出以下警告: 错误C4996 :' fopen ':此函数或变量可能不安全。考虑改用 fopen_s 。要禁用弃用,请使用_CRT_SECURE_NO_WARNINGS。有关详细信息,请参见在线帮助。“ 它还会对 sprintf 。我知道 sprintf_s 由于缓冲区溢出比sprintf更安全。 ..
发布时间:2020-06-08 18:56:45 C/C++开发