<分区>
我目前正在尝试获取一些我最初为 linux (gcc) 编写的 C 代码,以构建在 win32 机器上。
MSVC 编译器针对我所有的 printf
和 scanf
用法发出警告,建议我应该使用 printf_s
和 scanf_s
而不是更安全的选择。
忽略 100 条编译器警告从来都不是一件好事,但我应该在这种情况下吗?
有没有简单的解决方法来解决这个问题?也许将这些函数封装在特定于平台的预处理器指令中?
标签 c visual-studio gcc stdio
<分区>
我目前正在尝试获取一些我最初为 linux (gcc) 编写的 C 代码,以构建在 win32 机器上。
MSVC 编译器针对我所有的 printf
和 scanf
用法发出警告,建议我应该使用 printf_s
和 scanf_s
而不是更安全的选择。
忽略 100 条编译器警告从来都不是一件好事,但我应该在这种情况下吗?
有没有简单的解决方法来解决这个问题?也许将这些函数封装在特定于平台的预处理器指令中?
最佳答案
您可以通过在 #include
语句之前定义 _CRT_SECURE_NO_DEPRECATE
来抑制这些警告。但是您应该考虑使用新的安全功能。
关于printf_s 和 scanf_s 函数的跨平台使用 - C (linux/win32),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48766530/