咋样在VS2010MFC对话框中依次获取一个文件夹中的连续文件,如0000.bmp,0001.bmp......1000.bmp求详细代码? 10
我想用SetTimer()在其消息响应处理函数中,先读取0000.bmp间隔2s后再读取0001.bmp将它显示到对话框picture控件中。我的代码是这样:voidCS...
我想用SetTimer()在其消息响应处理函数中,先读取0000.bmp间隔2s后再读取0001.bmp将它显示到对话框picture控件中。我的代码是这样:
void CShowPictureDlg::OnTimer(UINT_PTR nIDEvent)
{
// TODO: 在此添加消息处理程序代码和/或调用默认值
//CShowPictureDlg::OnPaint();
t_num++;
char luj[53]="C:\\Users\\攀星\Desktop\\程序\\转化好的BMP图片\\";
char ch[5]=".bmp";
char b[5];
b[0]=(char)(48+t_num/1000);
b[1]=(char)(48+t_num/100);
b[2]=(char)(48+t_num/10%10);
b[3]=(char)(48+t_num%10);
b[4]='\0';
char *s;
s=strcat(b,ch);
fileName=strcat(luj,s); //fileName为要打开的文件名的路径
CShowPictureDlg::ShowBmp(fileName); //将BMP图片显示到picture控件
CDialogEx::OnTimer(nIDEvent);
}
但是出错了。大好家帮忙看一下是什么错误?或有更好的代码? 展开
void CShowPictureDlg::OnTimer(UINT_PTR nIDEvent)
{
// TODO: 在此添加消息处理程序代码和/或调用默认值
//CShowPictureDlg::OnPaint();
t_num++;
char luj[53]="C:\\Users\\攀星\Desktop\\程序\\转化好的BMP图片\\";
char ch[5]=".bmp";
char b[5];
b[0]=(char)(48+t_num/1000);
b[1]=(char)(48+t_num/100);
b[2]=(char)(48+t_num/10%10);
b[3]=(char)(48+t_num%10);
b[4]='\0';
char *s;
s=strcat(b,ch);
fileName=strcat(luj,s); //fileName为要打开的文件名的路径
CShowPictureDlg::ShowBmp(fileName); //将BMP图片显示到picture控件
CDialogEx::OnTimer(nIDEvent);
}
但是出错了。大好家帮忙看一下是什么错误?或有更好的代码? 展开
1个回答
展开全部
用sprintf或CString.Format最简单。
把以下代码
t_num++;
char luj[53]="C:\\Users\\攀星\Desktop\\程序\\转化好的BMP图片\\";
char ch[5]=".bmp";
char b[5];
b[0]=(char)(48+t_num/1000);
b[1]=(char)(48+t_num/100);
b[2]=(char)(48+t_num/10%10);
b[3]=(char)(48+t_num%10);
b[4]='\0';
char *s;
s=strcat(b,ch);
fileName=strcat(luj,s); //fileName为要打开的文件名的路径
改成:
sprintf(fileName,"C:\\Users\\攀星\Desktop\\程序\\转化好的BMP图片\\%04d.bmp",t_num++);
或
CString csTmp;
csTmp.Format("C:\\Users\\攀星\Desktop\\程序\\转化好的BMP图片\\%04d.bmp",t_num++);
然后ShowBmp(csTmp);
把以下代码
t_num++;
char luj[53]="C:\\Users\\攀星\Desktop\\程序\\转化好的BMP图片\\";
char ch[5]=".bmp";
char b[5];
b[0]=(char)(48+t_num/1000);
b[1]=(char)(48+t_num/100);
b[2]=(char)(48+t_num/10%10);
b[3]=(char)(48+t_num%10);
b[4]='\0';
char *s;
s=strcat(b,ch);
fileName=strcat(luj,s); //fileName为要打开的文件名的路径
改成:
sprintf(fileName,"C:\\Users\\攀星\Desktop\\程序\\转化好的BMP图片\\%04d.bmp",t_num++);
或
CString csTmp;
csTmp.Format("C:\\Users\\攀星\Desktop\\程序\\转化好的BMP图片\\%04d.bmp",t_num++);
然后ShowBmp(csTmp);
追问
用sprintf(fileName,"C:\\Users\\攀星\Desktop\\程序\\转化好的BMP图片\\%04d.bmp",t_num++);
出现个错误,我定义了个char *tch,的全局变量,用tch替换fileName,然后fileName=tch,编译通过后运行时出现如图所示:
追答
不能定义char *tch,应该定义成数组char tch[MAX_SIZE],MAX_SIZE为数组大小,自定。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询