_tgetenv(),_tcscat() ,setmode(),_tsplitpath()等函数的 was declared deprecated 警告
来源:互联网 发布:网络研修社区 编辑:程序博客网 时间:2024/05/05 22:49
这些函数因为不是十分安全的,对于内存不够的时候处理并不完善,所以建议使用 更为安全的函数版本 比如_tgetenv_s();_tcscat_s(),_tsplitpath_s()等 _tgetenv_s()函数声明:
_tgetenv_s()用法如下:
_setmode() ,如_setmode(_fileno(stdout),_O_BINARY);需要的头文件为
#include <io.h>//_setmode()需要
#include <fcntl.h>//_O_BINARY 需要
用法:
对于 _tcscat_s() MSDN上如下声明:
自己的例子:
_tsplitpath_s() 声明如下:
自己的例子
从上面的例子可以看出,对于这些函数,若是指针传递,则比原先不安全的版本多一个大小限制,而对于已经申请好的字符串引用传递,则可以和以前一样用(仅限C++,C里面没有引用),基本若是成功,则返回值为0,有误为其他返回值。
更详细的见MSDN
- _tgetenv(),_tcscat() ,setmode(),_tsplitpath()等函数的 was declared deprecated 警告
- _tgetenv(),_tcscat() ,setmode(),_tsplitpath()等函数的 was declared deprecated 警告
- warning C4996: 'sprintf' was declared deprecated see declaration of 'sprintf' 的警告消除方法
- (转)出现这样的警告 warning C4996: strcpy was declared deprecated
- VS2005 出现警告warning C4996: strcpy was declared deprecated 的解决办法
- warning C4996: '_snprintf' was declared deprecated 警告信息的消除方法
- 在VS2005下编译was declared deprecated警告
- 'function': was declared deprecated
- 'scanf' was declared deprecated,
- clCreateCommandQueue': was declared deprecated
- 在C++遇到有些关键字或者函数被弃用的情况,比如xxx was declared deprecated
- VC2005去掉烦人的warning C4996: '×××' was declared deprecated
- VS2005编译之declared deprecated警告
- VS2005编译之declared deprecated警告
- VS2005编译之declared deprecated警告
- warning C4996: strcpy was declared deprecated
- warning C4996: ''strcpy'' was declared deprecated
- warning C4996: 'strcpy' was declared deprecated
- flex 动态指定程序的应用皮肤
- 慈母盼儿归
- 吞吐量计算
- web 十年
- Transact-SQL编程规范
- _tgetenv(),_tcscat() ,setmode(),_tsplitpath()等函数的 was declared deprecated 警告
- 安装UBUNTU,GCC,GLIB
- 随笔
- 牛生
- css自动换行
- 按钮 左键 按下 弹起时候 响应 消息
- Effective C++读书笔记---继承与面向对象设计
- linux fork() 函数实例详解
- IOCP--Windows服务器编程之客户端代码