mwutilvc.cpp

来自「精通Matlab与C_C++混合程序设计.rar 是精通Matlab与C_C+」· C++ 代码 · 共 99 行

CPP
99
字号
// 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 + =
减小字号Ctrl + -
显示快捷键?