标题:
C语言数据溢出,帮忙改写下,谢谢
[打印本页]
作者:
xupcb1983
时间:
2018-1-14 12:34
标题:
C语言数据溢出,帮忙改写下,谢谢
void str_chuli(char *s,int *n)
{
unsigned int num=0;
char *p;
int len;
p=s;
while(*p)
{
if(*p!='.')
{
num = num*10+(*p-'0');
}
p++;
}
if(maxnt==7)
{
if(num>=43243)
{
num=num*0.8;
}
else
return;
}
else if(maxnt==5)
{
if(num>=10739)
{
num=num*0.8;
}
else
return;
}
inttostr(num,s,&len);
if(num < 1000)
{
s[0]='0';
s[1]='.';
s[2]= num/100 + '0';
s[3]= num%100/10 + '0';
s[4]=num%10+'0';
}
else
{
s[len+1]='\0';
s[len]=s[len-1];
s[len-1]=s[len-2];
s[len-2]=s[len-3];
s[len-3]='.';
*n=len+1;
}
}
void process ( char *buf,int *n)
{
int cnt=0;
int i=0;
int j=0;
int k=0;
int m=0;
char temp[20];
char temp1[20];
char *p;
char *q;
p=buf;
if(*n<=6)
return;
if(buf[0]==' && buf[1]=='G' && buf[2]=='P' && buf[3]=='R' && buf[4]=='M' && buf[5]=='C')
{
maxnt=7;
}
else if(buf[0]==' && buf[1]=='G' && buf[2]=='P' && buf[3]=='V' && buf[4]=='T' && buf[5]=='G')
{
maxnt=5;
}
else
{
return;
}
while(p && m< *n)
{
if(*p==',')
{
cnt++;
}
if(cnt==maxnt)
{
p++;
q=p;
while(*p!=',')
{
temp[i]=(char)*p;
p++;
i++;
}
temp[i]='\0';
str_chuli(temp,&i);
while(*p)
{
temp1[j]=(char)*p;
p++;
j++;
}
temp1[j]='\0';
for(k=0;k<i;k++)
{
*q=( char)temp[k];
q++;
}
for(k=0;k<=j;k++)
{
*q=( char)temp1[k];
q++;
}
*n=m+i+j;
return;
}
p++;
m++;
}
return;
}
void delay500ms()
{
unsigned char i,j,k;
for(i=15;i>0;i--)
for(j=202;j>0;j--)
for(k=81;k>0;k--);
}
void UartWrite( char *buf) //串口发送函数
{
unsigned char i;
char temp[100];
int len;[/i][/i]
[i][i]
for(i=0;i<cntRxd;i++)
{
temp[i]=*buf;
//if(buf[0]==' && buf[1]=='G' && buf[2]=='P' && buf[3]=='R' && buf[4]=='M' && buf[5]=='C')
// temp[i]='a';
// else
// temp[i]='b';
buf++;
}
len=cn
复制代码
作者:
xupcb1983
时间:
2018-1-14 17:29
计算结果要溢出数据
作者:
zhichangxuexi
时间:
2018-1-14 19:54
楼主不错呀,力鼎
作者:
myshare
时间:
2018-1-14 21:00
main函数呢?
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1