📄 client.cpp
字号:
//#include "stdafx.h"
#include "windows.h"
#include <comutil.h>
#include "iostream.h"
#include "IData.h"
extern "C" const GUID CLSID_MyData =
{ 0x8556d3c8, 0x460f, 0x47cf,
{ 0x8f, 0x61, 0x77, 0xb8, 0x61, 0xb7, 0x64, 0x2d } };
// {E357F0E0-AE09-4a88-8F0A-1B3B419A790B}
extern "C" const GUID IID_IData =
{ 0xe357f0e0, 0xae09, 0x4a88,
{ 0x8f, 0xa, 0x1b, 0x3b, 0x41, 0x9a, 0x79, 0xb } };
extern "C" const GUID IID_IUnknown =
{ 0x00000000, 0x0000, 0x0000,
{ 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46} } ;
int main(int argc, char* argv[])
{
IClassFactory *pClf;
IUnknown* pUnknown;
HRESULT hResult;
HRESULT pResult;
HRESULT test;
IData* pIData;
if (CoInitialize(NULL) != S_OK)
{
cout<<"Initialize COM library failed!"<<endl;
return -1;
}
GUID mydataCLSID;
//IUnknown* pUnknown;
hResult = ::CLSIDFromProgID(L"MyData.Object", &mydataCLSID);
if (hResult != S_OK)
{
cout<<"Can't find the data CLSID!"<<endl;
return -2;
}
hResult = CoCreateInstance(mydataCLSID, NULL,
CLSCTX_INPROC_SERVER, IID_IUnknown, (void **)&pUnknown);
if (hResult != S_OK)
{
cout<<"Create object failed!"<<endl;
return -2;
}
hResult = pUnknown->QueryInterface(IID_IData, (void **)&pIData);
if (hResult != S_OK) {
pUnknown->Release();
cout<<"QueryInterface IData failed!"<<endl;
return -3;
}
cout<<"请先阅读以下输入规则:"<<endl;
cout<<"---要转换的数值必须注明进制数,以'x'标明。"<<endl;
cout<<"例如:10x1234代表十进制数1234,8x1023代表八进制数1023。"<<endl;
cout<<"---要转换的进制数以整数形式表示。"<<endl;
cout<<"例如:2代表二进制,16代表十六进制。"<<endl;
cout<<"---支持小数的操作。"<<endl;
cout<<"---只能完成正数的任意数制之间的数值转换,负数请先自行转换为正数。"<<endl;
cout<<"Now start!"<<endl;
char inBuf[1024];
int inputexp,outputexp;
char choice;
do
{
cout<<"请输入要进行转换的数值:";
cin>>inBuf;
char* datainput=new char[strlen(inBuf)+1];
strcpy(datainput,inBuf);
cout<<"请输入要转换的进制数:";
cin>>outputexp;
inputexp=pIData->ParseExp(datainput);
if (inputexp==0)
{
cout<<"输入有误,请认真阅读输入规则!"<<endl;
return -4;
}
pIData->Toten(inputexp);
char* mResult=pIData->convertdata(outputexp);
cout<<"转换的结果为:"<<mResult<<endl;
cout<<"是否还需要服务?(Y/N):";
cin>>choice;
delete [] datainput;
}while(choice=='y' || choice=='Y');
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -