麻烦高手指点一下,如果不行,请高手帮忙改动一下typedef struct tagLIST //新的数据类型
{
float x;
float y;
float z;
struct tagLIST *next;
}MYLIST;
MYLIST *Head=NULL; //定义链表的头
MYLIST *Tail=NULL; //定义链表的尾
MYLIST *First=NULL; //定义当前指针,为循环链表准备//下面开辟一个3000个点的数据for(int i=0;i<3000;i++)
{
MYLIST *p= new MYLIST; //新分配1个数据
p->x=p->y=p->z=0.0; //初始化
p->next=NULL;
if(NULL==Head) //如果还没有数据,就是第一个数据
First=Tail=Head=p;
else
{
Tail->next=p; //新数挂在尾巴上
Tail=Tail->next; //新的尾巴在后一位置了
}
Tail->next=Head; //循环链表就加上下面这句,尾巴连到头
}//现在来看看如何把这缓冲画到屏幕
while(1)
{
采集新数据给First赋值;
MYLIST *pCur=First->next; //pCur就是最老的数,First是最新的数
while(pCur!=First) //走一圈,从最老的数一直扫到最新的数
{
取pCur->x;
取pCur->y;
取pCur->z;
计算成坐标并画图
pCur=pCur->next; //下一点
}
First=First->next; //每次画完,开始位置下挪一个位置
}
{
float x;
float y;
float z;
struct tagLIST *next;
}MYLIST;
MYLIST *Head=NULL; //定义链表的头
MYLIST *Tail=NULL; //定义链表的尾
MYLIST *First=NULL; //定义当前指针,为循环链表准备//下面开辟一个3000个点的数据for(int i=0;i<3000;i++)
{
MYLIST *p= new MYLIST; //新分配1个数据
p->x=p->y=p->z=0.0; //初始化
p->next=NULL;
if(NULL==Head) //如果还没有数据,就是第一个数据
First=Tail=Head=p;
else
{
Tail->next=p; //新数挂在尾巴上
Tail=Tail->next; //新的尾巴在后一位置了
}
Tail->next=Head; //循环链表就加上下面这句,尾巴连到头
}//现在来看看如何把这缓冲画到屏幕
while(1)
{
采集新数据给First赋值;
MYLIST *pCur=First->next; //pCur就是最老的数,First是最新的数
while(pCur!=First) //走一圈,从最老的数一直扫到最新的数
{
取pCur->x;
取pCur->y;
取pCur->z;
计算成坐标并画图
pCur=pCur->next; //下一点
}
First=First->next; //每次画完,开始位置下挪一个位置
}
1 我现在不会用链表从文件中取数,特别在工作线程中如何实现的,
2 如何把数据通过全局变量传给主线程绘图
请高手给个详细指点
读文件就是读文件
无非就是CFile
读出数据添加到链表中即可