Vs2012 中使用itoa
2024-08-24 11:20:00
自己在写程序的时候经常用到保存大量的图片,从而对其编号,所以要把整型转换成字符型。
通常自己定义string,而字符使用char[],把整形转换成char类型,然后和string类型相加,但是在VS2012中遇到了The POSIX name for this item is deprecated. Instead, use the ISO C++ conform错误。
解决方法:
1.应该是安全性问题,我使用了_itoa_s函数,不过这个函数使用4个参数,有问题大家可以搜索这个函数的用法。参考如下:
_itoa_s 函数原型如下: errno_t _itoa_s( int value,char *buffer,
size_t sizeInCharacters, //存放结果的字符数组长度
int radix);
2.网上别人重写了这个函数,代码如下(好像负数会有问题)。
char* IFLY_itoa(int nValue, char *szString, int radix)
{
int i=0, Len=0;
int nTemp=nValue;
char *lpString=szString;
/* 获得符号 */
if(nValue <0)
{
lpString[0] = '- ';
lpString++;
nTemp *= -1;
}
/* 倒序录入szString */
for(i=0; nTemp != 0 ; i++)
{
lpString[i] = nTemp%radix;
/* 进行数值向符号的转化 */
if(lpString[i] <=9)
{
lpString[i] += 0x30;
}
else
{
lpString[i] += 0x37;
}
nTemp /= radix;
}
/* 解决0的问题 */
if(i==0)
{
lpString[0] = 0x30;
i++;
}
/* 获得正确的顺序 */
Len = i;
for(i=0; i < (Len/2); i++)
{
nTemp = lpString[i];
lpString[i] = lpString[Len-i-1];
lpString[Len-i-1] = nTemp;
}
lpString[Len] =0; return szString;
};
最新文章
- io.js入门(一)—— 初识io.js
- javascript - 事件详解
- PostgreSQL Replication之第十二章 与Postgres-XC一起工作(3)
- 11个让你吃惊的 Linux 终端命令
- 本地存储 localStorage/sessionStorage/cookie
- 自己学习smarty的一些代码 和记录
- Qt之QCheckBox
- linux下shell脚本学习
- Linux 下多核CPU知识
- C# 模拟一个处理消息队列的线程类 Message Queue
- memcached全面剖析--5
- nyoj 1870 愚人节礼物
- [Form Builder]APP_ITEM_PROPERTY.SET_PROPERTY 用法
- 算法专题训练 搜索a-T3 Ni骑士(ni)
- [转]iOS Assembly Tutorial: Understanding ARM
- C语言函数的作用域规则
- 读外部存储的权限READ_EXTERNAL_STORAGE
- nginx 反向代理 负载均衡
- Socketserver 笔记
- ML(附录4)——拉格朗日乘数法
热门文章
- Add Binary
- 根据SQL Server排序规则创建顺序GUID
- OpenStack neutron删除网络设备出错解决办法
- Programming ActionScript 3.0 for Flash
- java基础疑难点总结之成员变量的继承,方法重载与重写的区别,多态与动态绑定
- uva 11572 unique snowflakes——yhx
- 对于大学4年的反思(续),记我的ThoughtWorks面试
- Dev C++支持c++11标准的编译方法
- 合工大 OJ 1322 窗口
- HDU 3333 Turing Tree --树状数组+离线处理