unicode 转码 ansi
#include "stdafx.h"
#include <Windows.h>
#include <stdio.h>
HRESULT SomeCOMFunction(BSTR *bstr)
{
*bstr = ::SysAllocString(L"你好,软件测试,lenmom");
return S_OK;
}
int _tmain(int argc, _TCHAR* argv[])
{
BSTR unicodestr = 0;
char *ansistr=NULL;
SomeCOMFunction(&unicodestr);
int lenW = ::SysStringLen(unicodestr);
int lenA = ::WideCharToMultiByte(CP_ACP, 0, unicodestr, lenW, 0, 0, NULL, NULL);
if (lenA > 0)
{
ansistr = new char[lenA + 1]; // allocate a final null terminator as well
::WideCharToMultiByte(CP_ACP, 0, unicodestr, lenW, ansistr, lenA, NULL, NULL);
ansistr[lenA] = 0; // Set the null terminator yourself
FILE *fp;
if((fp = fopen("d:\\111.vbs", "wb+"))==NULL) {
printf("Cannot open file.\n");
exit(1);
}
else
{
fputs(ansistr, fp);
}
fclose(fp);
}
else
{
// handle the error
}
//...use the strings, then free their memory:
if(ansistr!=NULL)
delete[] ansistr;
::SysFreeString(unicodestr);
return 0;
}
最新文章
- python学习笔记-import utils报错
- 黄聪:C#带cookie模拟登录百度
- js php json
- [转]MySQL服务器上添加一个允许远程访问的用户
- atitit.提升软件开发的效率and 质量的那些强大概念and方法总结
- Difference Between Performance Testing, Load Testing and Stress Testing
- framework&;&;library&#39;s root
- soap 路由
- Ubuntu下多服务器 Rsync同步镜像服务配置
- openStack 性能开测
- gcc常用命令集
- ORACLE 查找字段在哪些表里存在
- Swoole入门到实战打造高性能赛事直播平台(完整版)
- 【原创】Linux基础之命令行浏览器links
- Unity3d 协程(IEnumerator)范例
- 常用nginx rewrite重定向-跳转实例:
- lua keynote2
- 【Revit API】创建工作集并将element加入工作集中
- Reboot server stuck at &ldquo;Press ESC in 1 seconds to skip startup.nsh&rdquo;
- 【转】java.sql.SQLException: statement is closed语句被关闭 druid连接池报错
热门文章
- iOS runtime实用篇--和常见崩溃say good-bye
- 关于self和super在oc中的疑惑与分析 (self= [super init])
- (6)time&;datetime(时间模块)
- java8 array、list操作 汇【3】)(-Java8新特性之Collectors 详解
- $data[$i++]+=2;不等于$data[$i++]=$data[$i++]+2;
- 剑指offer-顺时针打印矩阵-二维数组
- 树莓派做下载机+Web服务器(Aria2下载+yaaw做UI+nginx)
- Centos下LNMP安装
- TCC(Tiny C Compiler)介绍
- FineUI4.0以后如何调用JS事件