VC驿站

 找回密码
 加入驿站

QQ登录

只需一步,快速开始

有编程疑问吗?还请到提问专区发帖提问!
搜索
查看: 579|回复: 6

[求助] 将程序嵌入到MFC:sprintf格式字符串%d需要类型int的参数但可变参数拥有类型...

[复制链接]
07_avatar_middle
online_member FUCMFC 发表于 2018-5-14 13:03:58 | 显示全部楼层 |阅读模式
5驿站币
参照博客的方法,https://blog.csdn.net/sunbibei/article/details/51783783
我想用MFC做验证界面,用opencv做图像处理部分(按照博客的做法创建一个多进程程序, 让创建的进程嵌入在MFC中运行,处理图像更方便

但程序运行会出现如题的错误
请问大佬,该问题该如何解决?万分感谢。。

MFC:
PROCESS_INFORMATION pi;
void CaboutMFCDlg::OnBnClickedButton1()
{
    // TODO:  在此添加控件通知处理程序代码
    STARTUPINFO startupinfo;
    memset(&startupinfo, '\0', sizeof(startupinfo));
    startupinfo.cb = sizeof(startupinfo);
    //设置进程创建时不显示窗口
    // startupinfo.dwFlags = STARTF_USESHOWWINDOW; /*startf_useposition*/
    // startupinfo.wShowWindow = SW_HIDE;

    char* CommandLine = new char[128];
    memset(CommandLine, '\0', 128);
    // 主进程窗口句柄
    HWND mainWnd = AfxGetMainWnd()->m_hWnd;
    // 显示控件句柄
    HWND viewWnd = GetDlgItem(IDC_STATIC)->m_hWnd;
    CRect rect;
    GetDlgItem(IDC_STATIC)->GetWindowRect(&rect);
    // 将参数写入命令行, 传递给马上要创建的进程
   sprintf(CommandLine, "%d %d %d %d", mainWnd, viewWnd, rect.Width(), rect.Height());
    BOOL b = CreateProcess("..\\Debug\\OpenCVProc.exe", CommandLine, NULL, NULL, FALSE, NULL, NULL, NULL, &startupinfo, &pi);
    if (!b)
        MessageBox("创建进程失败!");
    delete[] CommandLine;
    CommandLine = NULL;
}








上一篇:C语言,写一个函数,求平均值,最大值,最小值
下一篇:突然觉得可以实现,但失败了。。。。,

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你已经在论坛发帖求助,并且从坛友或者管理的回复中解决了问题,请编辑帖子并把分类改成【已解决】

如何回报帮助你解决问题的坛友?可以给对方加【热心】【驿站币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

07_avatar_middle
ico_lz  楼主| FUCMFC 发表于 2018-5-14 13:07:22 | 显示全部楼层
补充一下:warning C4477: “sprintf”: 格式字符串“%d”需要类型“int”的参数,但可变参数 1 拥有了类型“HWND”

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你已经在论坛发帖求助,并且从坛友或者管理的回复中解决了问题,请编辑帖子并把分类改成【已解决】

如何回报帮助你解决问题的坛友?可以给对方加【热心】【驿站币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

回复

使用道具 举报

51_avatar_middle
online_admins Syc 发表于 2018-5-14 17:44:18 | 显示全部楼层
FUCMFC 发表于 2018-5-14 13:07
补充一下:warning C4477: “sprintf”: 格式字符串“%d”需要类型“int”的参数,但可变参数 1 拥有了类型 ...

你这个是警告,不是错误!
他的意思是窗口句柄HWND 不是一个整型,但是你把这个用 %d 进行格式化了,所以给你个警告而已!如果程序崩溃了问题应该不是出在这

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你已经在论坛发帖求助,并且从坛友或者管理的回复中解决了问题,请编辑帖子并把分类改成【已解决】

如何回报帮助你解决问题的坛友?可以给对方加【热心】【驿站币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

回复

使用道具 举报

07_avatar_middle
ico_lz  楼主| FUCMFC 发表于 2018-5-14 19:32:12 | 显示全部楼层
嗯。十分感谢。
程序有下面所示的错误,是程序别的地方导致的还是由于类型的不匹配导致的?
错误        C4996        'sprintf': This function or variable may be unsafe. Consider using sprintf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
严重性        代码        说明        项目        文件        禁止显示状态
警告        C4477        “sprintf”: 格式字符串“%d”需要类型“int”的参数,但可变参数 1 拥有了类型“HWND”
严重性        代码        说明        项目        文件        禁止显示状态
警告        C4477        “sprintf”: 格式字符串“%d”需要类型“int”的参数,但可变参数 2 拥有了类型“HWND”       

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你已经在论坛发帖求助,并且从坛友或者管理的回复中解决了问题,请编辑帖子并把分类改成【已解决】

如何回报帮助你解决问题的坛友?可以给对方加【热心】【驿站币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

回复

使用道具 举报

51_avatar_middle
online_admins Syc 发表于 2018-5-14 21:13:24 | 显示全部楼层
FUCMFC 发表于 2018-5-14 19:32
嗯。十分感谢。
程序有下面所示的错误,是程序别的地方导致的还是由于类型的不匹配导致的?
错误        C4996        ' ...

主要是类型不匹配了

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你已经在论坛发帖求助,并且从坛友或者管理的回复中解决了问题,请编辑帖子并把分类改成【已解决】

如何回报帮助你解决问题的坛友?可以给对方加【热心】【驿站币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

回复

使用道具 举报

59_avatar_middle
online_member Cnly 发表于 2018-5-16 09:38:20 | 显示全部楼层
新版的vs可以使用较新的函数sprintf_s ,或者在预处理里边加上宏_CRT_SECURE_NO_WARNINGS,就可以使用sprintf了

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你已经在论坛发帖求助,并且从坛友或者管理的回复中解决了问题,请编辑帖子并把分类改成【已解决】

如何回报帮助你解决问题的坛友?可以给对方加【热心】【驿站币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

回复

使用道具 举报

05_avatar_middle
online_member Ui_Bing 发表于 2018-6-13 09:24:48 | 显示全部楼层
你这是用OpenCV导出来的代码?看起来不像呢。用halcon导出来的话,一般不会出现类似错误

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你已经在论坛发帖求助,并且从坛友或者管理的回复中解决了问题,请编辑帖子并把分类改成【已解决】

如何回报帮助你解决问题的坛友?可以给对方加【热心】【驿站币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 加入驿站 qq_login

本版积分规则

关闭

站长提醒上一条 /1 下一条

QQ
QQ在线咨询
联系电话
13591366679
手机扫一扫 关注本站精彩内容
wxqrcode

QQ|小黑屋|手机版|VC驿站 ( 辽ICP备09019393号tongdun|网站地图wx_jqr

GMT+8, 2018-7-18 16:41

Powered by Discuz! X3.4

© 2009-2018 cctry.com

快速回复 返回顶部 返回列表