vs2005非托管方式调用webservice

2024-03-16 14:38

本文主要是介绍vs2005非托管方式调用webservice,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

soapkit3.0,中的列子用vs2005非托管方式调用的例子,注意BSTR和char之间的转换例子代码

// console2.cpp : 定义控制台应用程序的入口点。
//#include "stdafx.h"
#include <comutil.h>
#pragma comment(lib, "comsuppw.lib")  
#pragma comment(lib, "kernel32.lib") #include <Locale.h>
using namespace  MyMath;
int _tmain(int argc, _TCHAR* argv[])
{::CoInitialize(NULL);//CMyMathT<>  a;CMyMath a;double b;a.AddNumbers(3,6,&b);CString str;BSTR  bstrA=::SysAllocString(L"tan谭");BSTR  bstrB=NULL;a.EchoString(bstrA,&bstrB);// printf("return message is:%s",()bstrB);setlocale(LC_ALL,"chs");wprintf_s(L"return message is %s\n",bstrB);char *  lpszText=_com_util::ConvertBSTRToString(bstrB);printf(lpszText);delete lpszText;::SysFreeString(bstrA);if(bstrB!=NULL){printf("release   message.\n");::SysFreeString(bstrB);printf("谭ddd");}//a.EchoString(printf("%f",b);printf("\t-?\t\t\t\tFor Help\n");printf("中文测试\n");//setlocale(LC_ALL,"zh_CN.UTF-8");setlocale(LC_ALL,"chs");wprintf(L"中文测试\n");printf("w0:%ls\n",L"中文测试");wprintf(L"w1:%s\n",L"1中文测试 宽字符");wprintf(L"w2:%ls\n",L"2中文测试 宽字符");wprintf(L"w3:%ls\n",L"3tDirectory 中文测试 宽字符 end");wprintf(L"w4:%S\n",L"4 中文测试 宽字符 end");printf("w5:%S\n",L"中文测试\n");getchar();::CoUninitialize();return 0;
}

下边为常用的关于字符的处理方法
vc6一般为多字节编码,如果想要unicode,要改:工程>设置>c/c++>预处理程序定义>去掉_MBCS,加入
:_UNICODE,UNICODE;工程>设置>link>output>Entry point加入wWinMainCRTStartup

为了兼容ansi,unicode常用函数改为
strcpy,strlen,strcat-> _tcscpy,_tcslen,_tcscat或lstrcpy,lstrlen,lstrcat
printf,sprintf->_tprintf,_tsprintf
“xxxx”-> _T(“xxxx”)

这篇关于vs2005非托管方式调用webservice的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/815782

相关文章

Java枚举类实现Key-Value映射的多种实现方式

《Java枚举类实现Key-Value映射的多种实现方式》在Java开发中,枚举(Enum)是一种特殊的类,本文将详细介绍Java枚举类实现key-value映射的多种方式,有需要的小伙伴可以根据需要... 目录前言一、基础实现方式1.1 为枚举添加属性和构造方法二、http://www.cppcns.co

使用Sentinel自定义返回和实现区分来源方式

《使用Sentinel自定义返回和实现区分来源方式》:本文主要介绍使用Sentinel自定义返回和实现区分来源方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Sentinel自定义返回和实现区分来源1. 自定义错误返回2. 实现区分来源总结Sentinel自定

Springboot处理跨域的实现方式(附Demo)

《Springboot处理跨域的实现方式(附Demo)》:本文主要介绍Springboot处理跨域的实现方式(附Demo),具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不... 目录Springboot处理跨域的方式1. 基本知识2. @CrossOrigin3. 全局跨域设置4.

springboot security使用jwt认证方式

《springbootsecurity使用jwt认证方式》:本文主要介绍springbootsecurity使用jwt认证方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地... 目录前言代码示例依赖定义mapper定义用户信息的实体beansecurity相关的类提供登录接口测试提供一

springboot security之前后端分离配置方式

《springbootsecurity之前后端分离配置方式》:本文主要介绍springbootsecurity之前后端分离配置方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的... 目录前言自定义配置认证失败自定义处理登录相关接口匿名访问前置文章总结前言spring boot secu

SpringBoot中封装Cors自动配置方式

《SpringBoot中封装Cors自动配置方式》:本文主要介绍SpringBoot中封装Cors自动配置方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录SpringBoot封装Cors自动配置背景实现步骤1. 创建 GlobalCorsProperties

Flutter打包APK的几种方式小结

《Flutter打包APK的几种方式小结》Flutter打包不同于RN,Flutter可以在AndroidStudio里编写Flutter代码并最终打包为APK,本篇主要阐述涉及到的几种打包方式,通... 目录前言1. android原生打包APK方式2. Flutter通过原生工程打包方式3. Futte

在C#中调用Python代码的两种实现方式

《在C#中调用Python代码的两种实现方式》:本文主要介绍在C#中调用Python代码的两种实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录C#调用python代码的方式1. 使用 Python.NET2. 使用外部进程调用 Python 脚本总结C#调

Vue中组件之间传值的六种方式(完整版)

《Vue中组件之间传值的六种方式(完整版)》组件是vue.js最强大的功能之一,而组件实例的作用域是相互独立的,这就意味着不同组件之间的数据无法相互引用,针对不同的使用场景,如何选择行之有效的通信方式... 目录前言方法一、props/$emit1.父组件向子组件传值2.子组件向父组件传值(通过事件形式)方

Python实现Microsoft Office自动化的几种方式及对比详解

《Python实现MicrosoftOffice自动化的几种方式及对比详解》办公自动化是指利用现代化设备和技术,代替办公人员的部分手动或重复性业务活动,优质而高效地处理办公事务,实现对信息的高效利用... 目录一、基于COM接口的自动化(pywin32)二、独立文件操作库1. Word处理(python-d