itoa()函数 Stack around the variable 'strtemp' was corrupted !!!???
来源:互联网 发布:淘宝活动平台 编辑:程序博客网 时间:2024/05/01 12:50
C语言提供了几个标准库函数,可以将任意类型(整型、长整型、浮点型等)的数字转换为字符串。以下是用itoa()函数将整数转 换为字符串的一个例子:
# include
# include
void main (void);
void main (void)
{
int num = 100;
char str[25];
itoa(num, str, 10);
printf("The number 'num' is %d and the string 'str' is %s. /n" ,
num, str);
}
itoa()函数有3个参数:第一个参数是要转换的数字,第二个参数是要写入转换结果的目标字符串,第三个参数是转移数字时所用 的基数。在上例中,转换基数为10。10:十进制;2:二进制...
下列函数可以将整数转换为字符串:
----------------------------------------------------------
函数名 作 用
----------------------------------------------------------
itoa() 将整型值转换为字符串
itoa() 将长整型值转换为字符串
ultoa() 将无符号长整型值转换为字符串
/////////////////////////////////////////
char *itoa(int value,char *string,int radix)
将整数value转换成字符串存入string,radix为转换时所用基数
char *ltoa(long value,char *string,int radix)
将长整型数value转换成字符串并返回该字符串,radix为转换时所用基数
char *ultoa(unsigned long value,char *string,int radix)
将无符号整型数value转换成字符串并返回该字符串,radix为转换时所用基数 //
//////////////////////////////////////
记得给 char* string 分配空间。你最好定义为 char stirng[N],不然的话,恐怕会出点意想不到的错误甚至系统崩溃。
/////////////////////////
Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=757366
Stack around the variable 'strtemp' was corrupted !!!???
byte* bshowsize=new byte[size];
memcpy((LPSTR)bshowsize,(LPCSTR)fpread,size);
string mystr("");
mystr.reserve(typen9*4+6);
int iitemp = 0;
char strtemp;
for (int i=0;i<size;i++){
iitemp = 128;
for (int k=0;k<8;k++){
itoa((bshowsize[i]&iitemp)>>(7-k),&strtemp,2);//"11101100"->'1','1','1','0',.....
mystr.push_back(strtemp);
iitemp=iitemp/2;
}
}
delete[] bshowsize;
如上代码段,运行后(可以成功运行),但会提示:Run-Time Check Failure #2 - Stack around the variable 'strtemp' was corrupted.不知道怎么回事!
请指教!
1 楼loveghb(温柔的毒药)回复于 2005-08-25 20:18:09 得分 20
你的栈被破坏了。
mystr.push_back(strtemp); //这行代码什么意思?好象STL容器才有push_back吧?
我懒了,机器太老,VC7开起来太慢了,你自己检查了。
也可能错误代码不在这里,应该是你局部数组赋值时越界了。
比如这样的代码会导致这种可恶的错误
void somefunction()
{
......
int a[10];
for (int i=0; i<=10; ++i)
a[i] = i;
......
}
Top
2 楼sycnick(李小虾)回复于 2005-08-25 20:58:41 得分 0
找到错误了!!原来msdn上写得很清楚itoa()转换的时候要注意字符的BUF大小,要预留NULL位和符号位,而我只申请了一个char,肯定不够,希望大家同样能吸取教训,以后小心,呵呵
- itoa()函数 Stack around the variable 'strtemp' was corrupted !!!???
- stack around the variable "xxx"was corrupted.
- 浅析stack around the variable was corrupted
- Stack around the variable 'cmdInfo' was corrupted
- Stack around the variable was corrupted
- stack around the variable “XX” was corrupted
- 解决:stack around the variable was corrupted
- 浅析stack around the variable was corrupted
- Stack around the variable was corrupted 解决方案
- stack around the variable "xx" was corrupted
- stack around the variable * was corrupted
- Stack around the variable was corrupted 解决方案
- stack around the variable “” was corrupted
- 错误:stack around the variable * was corrupted
- stack around the variable “” was corrupted问题
- Stack around the variable 'data' was corrupted.
- stack around the variable “” was corrupted
- stack around the variable “res” was corrupted
- 使用ASP.Net Forms模式实现WebService身份验证
- java计算两数百分比方法
- asp.net中的URL重写功能
- 获取指定IP的终端的MAC地址
- 有趣的失物认领
- itoa()函数 Stack around the variable 'strtemp' was corrupted !!!???
- 用好Delphi中的字符串
- md5算法描述
- delphi自己也可以生成帮助文件
- 在 Windows 2000/XP/2003 环境下轻松构建PHP Web服务器
- 把linux kernel 2.4 上的driver 移植到 2.6 kernel
- Ruby是誰開發的有那么重要嗎?
- 沉默的异常 EAbort
- [初]一个C++关于string的小问题