VC中如何循环执行一个函数时循环执行不相干的变量?

来源:百度知道 编辑:UC知道 时间:2024/06/18 04:40:12
比如:我要执行
void SaveScreenshot(int width,int height)
{

imageDate1=(unsigned char*)malloc(width*height*3); //为imageDate1分配内存
memset(imageDate1,0,width*height*3); //清理imageDate1内存中的内容
//从窗口中读取图像数据
glReadPixels(0,0,SCREEN_WIDTH,SCREEN_HEIGHT,GL_RGB,GL_UNSIGNED_BYTE,imageDate1);
}
第二次执行此函数时要将imageDate1变为imageDate2执行,后来依次改变为imageDate3,imageDate4,imageDate5......imageDate9。如何编程?

void SaveScreenshot(int width,int height)
{
static int i=1;
switch(i)
{
case 1:
imageDate1=(unsigned char*)malloc(width*height*3);
memset(imageDate1,0,width*height*3);
glReadPixels(0,0,SCREEN_WIDTH,SCREEN_HEIGHT,GL_RGB,GL_UNSIGNED_BYTE,imageDate1);
break;
case 2:
imageDate2=(unsigned char*)malloc(width*height*3);
memset(imageDate2,0,width*height*3);
glReadPixels(0,0,SCREEN_WIDTH,SCREEN_HEIGHT,GL_RGB,GL_UNSIGNED_BYTE,imageDate2);
break;
...
case 9:
imageDate9=(unsigned char*)malloc(width*height*3);
memset(imageDate9,0,width*height*3);
glReadPixels(0,0,SCREEN_WIDTH,SCREEN_HEIGHT,GL_RGB,GL_UNSIGNED_BYTE,imageDate9);
break;
}
}