这两天在捣鼓测试阿里云的对象存储,阿里云称为 阿里云对象存储OSS(Object Storage Service)。 首先,相关sdk是放在 github的。so,需要科学上网。很是不方便。 再者就是遇到了提供的教程默认编译出来的lib是64位的。我的项目均是32位下开发的。如果设置为win32的,vs编译时会有如下的提示: 解决办法是修改项目的属性中的 文档管理程序的-》所有选项-》附加选项,/machine:x64 改为 /machine:x86 但好像各个vs版本的这个属性的位置有所不一样,注意区别对待。 还有如下问题: 阿里云oss也集成了相关的第三方库,libcurl,ssleasy
Read more分类: mfc vc++
vc++的一些基本知识
阿里云存储 oss 的 c++相关问题解决办法
MFC获取整个文件夹的大小
MFC获取整个文件夹的大小 //获取整个文件夹的大小 double CEvent::GetDirSize(CString strFullPath) { double dwDirSize,dwSubDirSize; CFileFind finder; dwDirSize=dwSubDirSize=0; strFullPath+=_T(“\\*.*”); if(finder.FindFile(strFullPath)) { while(1) { BOOL bFound; bFound=finder.FindNextFile(); if (finder.IsDirectory()) { if (!f
Read more
MFC获取整个文件夹的大小 //获取整个文件夹的大小 double CEvent::GetDirSize(CString strFullPath) { double dwDirSize,dwSubDirSize; CFileFind finder; dwDirSize=dwSubDirSize=0; strFullPath+=_T(“\\*.*”); if(finder.FindFile(strFullPath)) { while(1) { BOOL bFound; bFound=finder.FindNextFile(); if (finder.IsDirectory()) { if (!f
Read moremfc CPtrList的使用遍历
自己写原始的一个链表,还是很麻烦的,mfc是有一个很好用的类的。就是CPtrList,他就是存储多个指针的。 CPtrList添加指针,pItem是一个指针: m_pSubjectItemList.AddTail(pItem); CPtrList的遍历方法如下: POSITION pos = m_pSubjectItemList.GetHeadPosition(); while (pos != NULL) { CSubjectItem * pOne = (CSubjectItem * )m_pSubjectItemList.GetNext(pos); if (pOne != NU
Read more
自己写原始的一个链表,还是很麻烦的,mfc是有一个很好用的类的。就是CPtrList,他就是存储多个指针的。 CPtrList添加指针,pItem是一个指针: m_pSubjectItemList.AddTail(pItem); CPtrList的遍历方法如下: POSITION pos = m_pSubjectItemList.GetHeadPosition(); while (pos != NULL) { CSubjectItem * pOne = (CSubjectItem * )m_pSubjectItemList.GetNext(pos); if (pOne != NU
Read moremfc c++ 如何获取工程资源视图中Version文件中的软件版本号
首先工程需要引用 Version.lib,这个库。 项目》属性页》配置属性》链接器》输入》附加依赖项 debug和release都要添加。 CString GetSoftwareVersion() { TCHAR szFullPath[MAX_PATH]; DWORD dwVerInfoSize = 0; DWORD dwVerHnd; VS_FIXEDFILEINFO * pFileInfo; ::GetModuleFileName(NULL, szFullPath, sizeof(szFullPath)); dwVerInfoSize = ::GetFileVersionInfoSize(
Read more
首先工程需要引用 Version.lib,这个库。 项目》属性页》配置属性》链接器》输入》附加依赖项 debug和release都要添加。 CString GetSoftwareVersion() { TCHAR szFullPath[MAX_PATH]; DWORD dwVerInfoSize = 0; DWORD dwVerHnd; VS_FIXEDFILEINFO * pFileInfo; ::GetModuleFileName(NULL, szFullPath, sizeof(szFullPath)); dwVerInfoSize = ::GetFileVersionInfoSize(
Read morevc2010如何添加c文件到工程中
最近vs2010 C++项目中用到了json库,选用了cjson,但由于是c库,就是cjson有两个文件,一个是.c和一个是.h。需要一定的处理才可以正确添加到工程中。 把cjson.c,改名为cjson.cpp 把cjson.c和cjson.cpp添加到工程根目录中去 工程包含这两个文件 在cjson.cpp文件中,首行添加 #include “StdAfx.h” done
Read more
最近vs2010 C++项目中用到了json库,选用了cjson,但由于是c库,就是cjson有两个文件,一个是.c和一个是.h。需要一定的处理才可以正确添加到工程中。 把cjson.c,改名为cjson.cpp 把cjson.c和cjson.cpp添加到工程根目录中去 工程包含这两个文件 在cjson.cpp文件中,首行添加 #include “StdAfx.h” done
Read moremfc-listctrl滚动到指定行
//要先把控件滚动到这个项这一数据行 int nSel = i; int nItem2 = pMe->m_CtrlResultList->GetTopIndex(); CRect rc; pMe->m_CtrlResultList->GetItemRect(nItem2, rc, LVIR_BOUNDS); CSize sz(0, (nSel – nItem2)*rc.Height()); pMe->m_CtrlResultList->Scroll(sz); //要先把控件滚动到这个项这一数据行 over
Read more
//要先把控件滚动到这个项这一数据行 int nSel = i; int nItem2 = pMe->m_CtrlResultList->GetTopIndex(); CRect rc; pMe->m_CtrlResultList->GetItemRect(nItem2, rc, LVIR_BOUNDS); CSize sz(0, (nSel – nItem2)*rc.Height()); pMe->m_CtrlResultList->Scroll(sz); //要先把控件滚动到这个项这一数据行 over
Read morevc++ curl取得网页html文件内容的方法
首先就是一个回调函数 static size_t getResponseString(void *ptr, size_t size, size_t nmemb, void *userdata) {//参数userdata是存放数据的指针 其他三个获取内容 std::string *version = (std::string*)userdata; version->append((char*)ptr, size * nmemb); return (size * nmemb); } 然后就是一个curl 请求 curl_global_init(CURL_GLOBAL_WIN32); CU
Read more
首先就是一个回调函数 static size_t getResponseString(void *ptr, size_t size, size_t nmemb, void *userdata) {//参数userdata是存放数据的指针 其他三个获取内容 std::string *version = (std::string*)userdata; version->append((char*)ptr, size * nmemb); return (size * nmemb); } 然后就是一个curl 请求 curl_global_init(CURL_GLOBAL_WIN32); CU
Read moreopencv-hbitmap在内存中直接转jgp格式-bmp转jpg
opencv-hbitmap在内存中直接转jgp格式-bmp转jpg IplImage* CMainFrame::Bitmap2IplImage(HANDLE hBitmap) { BITMAP bmp; // 得到位图对象 int nPicSize; nPicSize = sizeof(BITMAP); GetObject(hBitmap, sizeof(BITMAP), &bmp); int depth,nChannels; if(bmp.bmBitsPixel == 1)//得到图像深度和通道数 { depth=IPL_DEPTH_1U; nChannels=1; } else { de
Read more
opencv-hbitmap在内存中直接转jgp格式-bmp转jpg IplImage* CMainFrame::Bitmap2IplImage(HANDLE hBitmap) { BITMAP bmp; // 得到位图对象 int nPicSize; nPicSize = sizeof(BITMAP); GetObject(hBitmap, sizeof(BITMAP), &bmp); int depth,nChannels; if(bmp.bmBitsPixel == 1)//得到图像深度和通道数 { depth=IPL_DEPTH_1U; nChannels=1; } else { de
Read moreclistbox 项单击进行上下移动人工排序
clistbox 项单击进行上下移动人工排序 void CMyDlg::OnBnClickedButtonMoveUp() { // TODO: 在此添加控件通知处理程序代码 int nIndex = m_CtrlListImages.GetCurSel(); if ( nIndex != 0) { //不是第一行,就可以向上移动! CString strUp; m_CtrlListImages.GetText(nIndex-1,strUp); m_CtrlListImages.DeleteString(nIndex-1); m_CtrlListImages.InsertString(nInd
Read more
clistbox 项单击进行上下移动人工排序 void CMyDlg::OnBnClickedButtonMoveUp() { // TODO: 在此添加控件通知处理程序代码 int nIndex = m_CtrlListImages.GetCurSel(); if ( nIndex != 0) { //不是第一行,就可以向上移动! CString strUp; m_CtrlListImages.GetText(nIndex-1,strUp); m_CtrlListImages.DeleteString(nIndex-1); m_CtrlListImages.InsertString(nInd
Read moremfc-static控件显示图片-滚动条-放大缩小-opencv
这个控件是基于CStatic派生的一个类,可放大缩小,带滚动条,想做成功能强大的(想做成一个视觉图片软件中的)控件,结果发现很难。。。 也还好,只能说够用。。bug也会不少,权当参考吧。这个static区域重绘,实再是搞不定,这是目前最大的硬伤了。。。 还有,工程是柔合了opencv1.0的东西,版本太旧了。。 我贴出一个网址,如果您完善了,或者有什么疑问(不保证解决,解答),可以在我的博客上留言。。 mfc-static控件显示图片-滚动条-放大缩小-opencv mfc显示图片,实再太难了,希望对大家有用!
Read more
这个控件是基于CStatic派生的一个类,可放大缩小,带滚动条,想做成功能强大的(想做成一个视觉图片软件中的)控件,结果发现很难。。。 也还好,只能说够用。。bug也会不少,权当参考吧。这个static区域重绘,实再是搞不定,这是目前最大的硬伤了。。。 还有,工程是柔合了opencv1.0的东西,版本太旧了。。 我贴出一个网址,如果您完善了,或者有什么疑问(不保证解决,解答),可以在我的博客上留言。。 mfc-static控件显示图片-滚动条-放大缩小-opencv mfc显示图片,实再太难了,希望对大家有用!
Read more