printf_s 和 scanf_s 函数的跨平台使用 - C (linux/win32)

标签 c visual-studio gcc stdio

<分区>

我目前正在尝试获取一些我最初为 linux (gcc) 编写的 C 代码,以构建在 win32 机器上。

MSVC 编译器针对我所有的 printfscanf 用法发出警告,建议我应该使用 printf_sscanf_s 而不是更安全的选择。

忽略 100 条编译器警告从来都不是一件好事,但我应该在这种情况下吗?

有没有简单的解决方法来解决这个问题?也许将这些函数封装在特定于平台的预处理器指令中?

最佳答案

您可以通过在 #include 语句之前定义 _CRT_SECURE_NO_DEPRECATE 来抑制这些警告。但是您应该考虑使用新的安全功能。

关于printf_s 和 scanf_s 函数的跨平台使用 - C (linux/win32),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48766530/

相关文章:

c - 以编程方式查找缓存级别的数量

asp.net-mvc - ASP.NET Core MVC--添加新的 'Razor View - Empty"时出错

无法读取 strtok 函数生成的字符串

c - 如果语句在 while 循环中不起作用

visual-studio - Outlook 加载项 VSTO : Ribbon Type property is not shown

vb.net - 大量文件的 Visual Studio 和编译性能问题

c - 使用更新的 CPU 指令支持构建向后兼容的二进制文件

将多个 C 源文件编译成一个唯一的目标文件

gcc - 与 gcc 中的相对路径链接

ruby 中的 char 转换在 C 中是不同的吗?