发新话题
打印

浮点数从字符串中取出并存储到浮点数组中的方法请教

浮点数从字符串中取出并存储到浮点数组中的方法请教

#define M 5
int jT=0;
int xT=0;
float lanbuda[M];
double tempx;
char *temp;
xT=M
while(jT<xT)
{
        for(int kT=0;kT<dwFileLenT+1;kT++)
        {
                if(pBufT[kT]==0x0d)
                {               
                        int iT=1;
                        while(pBufT[kT-iT])
                        {
                                temp[16-iT]=pBufT[kT-iT];
                                iT++;
                        }
                }
                tempx=atof(temp);
                lanbuda[jT++]=(float)tempx;               
        }
}
感觉没有问题了,但是运行起来却总是提示致命错误。
而且,调试时出现Unhandle exception in Draw2.exe(MSVCRTD.DLL),OXC0000005 Access Violation.
t1 40.000000
t2 5.000000
t3 4.000000
t4 0.500000
t5 0.500000
要转换的字符串是类似这种的,只将其中的40.000000,5.000000等取出来就行了,放到数组lanbuda中。
请各位高手指点迷津!!谢谢

TOP

double tempx;
tempx=atof(temp);
数据类型不对吧!

TOP

Convert strings to double (atof),MSDN里边的解释,所以数据类型没有错误

TOP

MSVCRTD.DLL
好像错误来自你的画图操作,上面这段程序没有画图的操作,你看看其也的代码,是不是与画图有关?
一般屏幕上的点都是整型的。

TOP

解决了,是循环的问题循环有两层,对于第一层循环的下标,不能在第二层里进行修改

TOP

发新话题