咋样在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);
}
但是出错了。大好家帮忙看一下是什么错误?或有更好的代码?
展开
 我来答
bolee810841773
2012-05-24 · TA获得超过192个赞
知道答主
回答量:178
采纳率:0%
帮助的人:134万
展开全部
用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);
追问
用sprintf(fileName,"C:\\Users\\攀星\Desktop\\程序\\转化好的BMP图片\\%04d.bmp",t_num++);
出现个错误,我定义了个char *tch,的全局变量,用tch替换fileName,然后fileName=tch,编译通过后运行时出现如图所示:
追答
不能定义char *tch,应该定义成数组char tch[MAX_SIZE],MAX_SIZE为数组大小,自定。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式