⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mwutilvc.cpp

📁 mwpack_mwunpack 处理varargin输入和varargout输出
💻 CPP
字号:
// mwutilvc.cpp : Defines the entry point for the console application.
//

#include "stdafx.h"
#include "stdio.h"


#include <afxdisp.h>
#include "windows.h"
#include "mwcomutil.h"
#import "D:\MATLAB6p5p1\bin\win32\mwcomutil.dll" raw_interfaces_only
//#include "testcellormatrix_1_0.h"
#include "testmwutil_1_0.h"
#include "COMDEF.H"

#define _TEST_STR_NUM 10

int main(int argc, char* argv[])
{
	if ((FAILED(CoInitialize(NULL))))
    {
        printf("CoInitialize failed.\n");
        exit(1);
    }
	HRESULT hr;
	MWComUtil::IMWUtilPtr pIMWUtil=NULL;
	hr=pIMWUtil.CreateInstance(__uuidof(MWComUtil::MWUtil));
	if(FAILED(hr))
	{
		return 0;
	}

	VARIANT varStr[_TEST_STR_NUM];
	VARIANT varStrEmpty,varStrOut;
	VariantInit(&varStrEmpty);
	VariantInit(&varStrOut);
	int i=0;
	for(i=0;i<_TEST_STR_NUM;i++)
	{
		VariantInit(varStr+i);
	}
	//OLECHAR tmpChar[1]='a';

	Itestmwutil * pTestUtil=NULL;	
	hr=CoCreateInstance(CLSID_testmwutil,NULL,CLSCTX_ALL,IID_Itestmwutil,(void**)&pTestUtil);

	if(FAILED(hr))
	{
		return 0;
	}
	
	//创建字典数据---元组 varargout
	pTestUtil->createdictionary(_TEST_STR_NUM,&varStrOut);
	printf("creating dictionary cell|:\n");
	pTestUtil->displayinput(varStrOut);

	VARIANT_BOOL isResize=1;
	
	printf("\n");
	printf("UnPacking the created dictionary cell:\n");
	pIMWUtil->MWUnpack(varStrOut,0,isResize,varStr,varStr+1,varStr+2,
		               varStr+3,varStr+4,varStr+5,varStr+6,varStr+7,
					   varStr+8,varStr+9,NULL,NULL,NULL,NULL,
					   NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,
					   NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
	for(i=0;i<_TEST_STR_NUM;i++)
	{
		pTestUtil->displayinput(varStr[i]);
	}
    pTestUtil->sortinputstring(10,&varStrOut,varStrOut);

	printf("\n");
	printf("sorting the dictionary cell:\n");
	pTestUtil->displayinput(varStrOut);

	
	pIMWUtil->MWUnpack(varStrOut,0,isResize,varStr,varStr+1,varStr+2,
		               varStr+3,varStr+4,varStr+5,varStr+6,varStr+7,
					   varStr+8,varStr+9,NULL,NULL,NULL,NULL,
					   NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,
					   NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
	printf("\n");
	printf("UnPacking the sorted dictionary cell:\n");
	for(i=0;i<_TEST_STR_NUM;i++)
	{
		pTestUtil->displayinput(varStr[i]);
	}

	pIMWUtil->Release();
	pIMWUtil=NULL;
	pTestUtil->Release();
	pTestUtil=NULL;

	CoUninitialize();
	printf("\n\npress any key to exit\n");
	getchar();
	return 0;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -