主题:好像是循环问题
for(k=0;k<n/iChNum/4;k++)
{
b=0;
for(j=0;j<18;j=j+2)
{
for(i=0;i<2;i++)
{
fbuf[i]=cRBuf[(k*iChNum+j)*2+i];
}
tempd=(fbuf[1] & 0x0f )*256+fbuf[0];
x=((tempd-2048)/409.6-ZeroPoint[ADDR][b])/Sensitivity[ADDR][b];
tempss=FloatToStr(x);
tempss=tempss.SubString(0,6);
if ((x<0.0001) && (x>-0.0001))
tempss="0.0 ";
for(i=tempss.Length();i<=6;i++)
{
tempss=tempss+" ";
}
temps="";
temps+=tempss+" ";
for(i=2;i<4;i++)
{
fbuf[i]=cRBuf[(k*iChNum+j)*2+i];
}
tempd=(fbuf[3] & 0x0f )*256+fbuf[2];
x=((tempd-2048)/409.6-ZeroPoint[ADDR][b])/Sensitivity[ADDR][b];
tempss=FloatToStr(x);
tempss=tempss.SubString(0,6);
if ((x<0.0001) && (x>-0.0001))
tempss="0.0 ";
for(i=tempss.Length();i<=6;i++)
{
tempss=tempss+" ";
}
temps+=tempss+" ";
date=datafilename.SubString(18,10);
if (DirectoryExists("D:\\Gzhou_data\\"+date) ==0)
{
MkDir("D:\\Gzhou_data\\"+date);
}
s="D:\\Gzhou_data\\"+ date + "\\" +cjnumb+"_"+FloatToStr(b)+".dat";
fp = fopen(s.c_str(),"a+");
fprintf(fp,"%s\n",temps);
fclose(fp);
b=b+1;
}
for(a=0;a<2;a++)
{
for(i=0;i<2;i++)
{
fbuf[i]=cRBuf[(k*iChNum+j)*2+i];
}
tempd=(fbuf[1] & 0x0f )*256+fbuf[0];
x=((tempd-2048)/409.6-ZeroPoint[ADDR][b])/Sensitivity[ADDR][b];
tempss=FloatToStr(x);
tempss=tempss.SubString(0,6);
if ((x<0.0001) && (x>-0.0001))
tempss="0.0 ";
for(i=tempss.Length();i<=6;i++)
{
tempss=tempss+" ";
}
temps="";
temps+=tempss+" ";
s="D:\\Gzhou_data\\"+ date + "\\" +cjnumb+"_"+FloatToStr(j)+".dat";
fp = fopen(s.c_str(),"a+");
fprintf(fp,"%s\n",temps);
fclose(fp);
j=j+1;
b=b+1;
}
}
就是想向D盘的一个目录下写数据,可是关于j 的循环好像出不来,我观察b只是到8,不会再增加了,请高手指点。
{
b=0;
for(j=0;j<18;j=j+2)
{
for(i=0;i<2;i++)
{
fbuf[i]=cRBuf[(k*iChNum+j)*2+i];
}
tempd=(fbuf[1] & 0x0f )*256+fbuf[0];
x=((tempd-2048)/409.6-ZeroPoint[ADDR][b])/Sensitivity[ADDR][b];
tempss=FloatToStr(x);
tempss=tempss.SubString(0,6);
if ((x<0.0001) && (x>-0.0001))
tempss="0.0 ";
for(i=tempss.Length();i<=6;i++)
{
tempss=tempss+" ";
}
temps="";
temps+=tempss+" ";
for(i=2;i<4;i++)
{
fbuf[i]=cRBuf[(k*iChNum+j)*2+i];
}
tempd=(fbuf[3] & 0x0f )*256+fbuf[2];
x=((tempd-2048)/409.6-ZeroPoint[ADDR][b])/Sensitivity[ADDR][b];
tempss=FloatToStr(x);
tempss=tempss.SubString(0,6);
if ((x<0.0001) && (x>-0.0001))
tempss="0.0 ";
for(i=tempss.Length();i<=6;i++)
{
tempss=tempss+" ";
}
temps+=tempss+" ";
date=datafilename.SubString(18,10);
if (DirectoryExists("D:\\Gzhou_data\\"+date) ==0)
{
MkDir("D:\\Gzhou_data\\"+date);
}
s="D:\\Gzhou_data\\"+ date + "\\" +cjnumb+"_"+FloatToStr(b)+".dat";
fp = fopen(s.c_str(),"a+");
fprintf(fp,"%s\n",temps);
fclose(fp);
b=b+1;
}
for(a=0;a<2;a++)
{
for(i=0;i<2;i++)
{
fbuf[i]=cRBuf[(k*iChNum+j)*2+i];
}
tempd=(fbuf[1] & 0x0f )*256+fbuf[0];
x=((tempd-2048)/409.6-ZeroPoint[ADDR][b])/Sensitivity[ADDR][b];
tempss=FloatToStr(x);
tempss=tempss.SubString(0,6);
if ((x<0.0001) && (x>-0.0001))
tempss="0.0 ";
for(i=tempss.Length();i<=6;i++)
{
tempss=tempss+" ";
}
temps="";
temps+=tempss+" ";
s="D:\\Gzhou_data\\"+ date + "\\" +cjnumb+"_"+FloatToStr(j)+".dat";
fp = fopen(s.c_str(),"a+");
fprintf(fp,"%s\n",temps);
fclose(fp);
j=j+1;
b=b+1;
}
}
就是想向D盘的一个目录下写数据,可是关于j 的循环好像出不来,我观察b只是到8,不会再增加了,请高手指点。