level 3
街角哦祝福
楼主
char wnd[5][10]={ "0","0","0","0","0"};
int GetWndNum( unsigned long )
{
int i;char flag[10];
/**itoa(id,flag,10); linux里没这函数吧,我换成sprintf就有问题了**/
sprintf( flag,"%ld",id ); /*为什么出错啊,我一调用这函数就说什么stack溢出,*
*stack smashing detected之类的*/
for( i=0;i<5;i++ )
{
if( strcmp(wnd[i],"0")==0 )
{
strcpy(wnd[i], flag);
return i+1;
}
if( strcmp(wnd[i],flag)==0 ) return i+1;
}
}
知道的给解释下。谢谢.
2011年12月04日 15点12分
1
int GetWndNum( unsigned long )
{
int i;char flag[10];
/**itoa(id,flag,10); linux里没这函数吧,我换成sprintf就有问题了**/
sprintf( flag,"%ld",id ); /*为什么出错啊,我一调用这函数就说什么stack溢出,*
*stack smashing detected之类的*/
for( i=0;i<5;i++ )
{
if( strcmp(wnd[i],"0")==0 )
{
strcpy(wnd[i], flag);
return i+1;
}
if( strcmp(wnd[i],flag)==0 ) return i+1;
}
}
知道的给解释下。谢谢.