C4996 'getcwd': The POSIX name for this item is deprecated. Instead, use the ISO C and C++ conformant name: _getcwd. See online help for details.
错误原因
微软从2005开始不再支持POSIX命名的C语言函数
解决方案
方案一:将getcwd换成_getcwd[不建议]
将getcwd换成_getcwd
但是,_getcwd函数只能在vs上使用,其他平台无法使用,故修改之后的代码无法移植,不建议采取此方案
方案二:使用条件编译
#ifdef _POSIX_C_SOURCE
getcwd(buff, iLen);
#else
_getcwd(buff, iLen);
#endif
在支持POSIX的平台系统会采用getcwd,在不支持的POSIX的平台系统会采用_getcwd,可兼容其他平台
方案三:设置预处理器
右键 -> 属性 -> 配置属性 -> C/C++ -> 预处理器 -> 预处理器定义 -> 输入_CRT_NONSTDC_NO_DEPRECATE


本文来自博客园,作者:EricsT,转载请注明原文链接:https://www.cnblogs.com/EricsT/p/18751849

浙公网安备 33010602011771号